merged with upstream/OpenSceneGraph-3.6
This commit is contained in:
@@ -63,6 +63,13 @@ class BoundingSphereImpl
|
||||
* otherwise. */
|
||||
inline bool valid() const { return _radius>=0.0; }
|
||||
|
||||
inline BoundingSphereImpl& operator = (const BoundingSphereImpl& rhs)
|
||||
{
|
||||
_center = rhs._center;
|
||||
_radius = rhs._radius;
|
||||
return *this;
|
||||
}
|
||||
|
||||
inline bool operator == (const BoundingSphereImpl& rhs) const { return _center==rhs._center && _radius==rhs._radius; }
|
||||
inline bool operator != (const BoundingSphereImpl& rhs) const { return _center!=rhs._center || _radius!=rhs._radius; }
|
||||
|
||||
|
||||
@@ -121,6 +121,32 @@ class OSG_EXPORT Callback : public virtual Object {
|
||||
}
|
||||
}
|
||||
|
||||
/** Convenience method to find a nested callback by type. */
|
||||
template <typename T>
|
||||
static T* findNestedCallback(osg::Callback* callback)
|
||||
{
|
||||
if (!callback)
|
||||
return NULL;
|
||||
|
||||
if (T* cb = dynamic_cast<T*>(callback))
|
||||
return cb;
|
||||
|
||||
return findNestedCallback<T>(callback->getNestedCallback());
|
||||
}
|
||||
|
||||
/** Convenience method to find a nested callback by type. */
|
||||
template <typename T>
|
||||
static const T* findNestedCallback(const osg::Callback* callback)
|
||||
{
|
||||
if (!callback)
|
||||
return NULL;
|
||||
|
||||
if (const T* cb = dynamic_cast<const T*>(callback))
|
||||
return cb;
|
||||
|
||||
return findNestedCallback<T>(callback->getNestedCallback());
|
||||
}
|
||||
|
||||
protected:
|
||||
|
||||
virtual ~Callback() {}
|
||||
|
||||
@@ -149,6 +149,15 @@ class VertexAttribAlias
|
||||
_osgName(osgName),
|
||||
_declaration(declaration) {}
|
||||
|
||||
VertexAttribAlias& operator = (const VertexAttribAlias& rhs)
|
||||
{
|
||||
_location = rhs._location;
|
||||
_glName = rhs._glName;
|
||||
_osgName = rhs._osgName;
|
||||
_declaration = rhs._declaration;
|
||||
return *this;
|
||||
}
|
||||
|
||||
GLuint _location;
|
||||
std::string _glName;
|
||||
std::string _osgName;
|
||||
|
||||
@@ -53,6 +53,14 @@ class OSG_EXPORT Quat
|
||||
_v[3]=w;
|
||||
}
|
||||
|
||||
inline Quat( const Quat& rhs )
|
||||
{
|
||||
_v[0]=rhs._v[0];
|
||||
_v[1]=rhs._v[1];
|
||||
_v[2]=rhs._v[2];
|
||||
_v[3]=rhs._v[3];
|
||||
}
|
||||
|
||||
inline Quat( const Vec4f& v )
|
||||
{
|
||||
_v[0]=v.x();
|
||||
|
||||
@@ -1328,12 +1328,12 @@ class OSG_EXPORT State : public Referenced
|
||||
inline void popModeList(ModeMap& modeMap,const StateSet::ModeList& modeList);
|
||||
inline void popAttributeList(AttributeMap& attributeMap,const StateSet::AttributeList& attributeList);
|
||||
inline void popUniformList(UniformMap& uniformMap,const StateSet::UniformList& uniformList);
|
||||
inline void popDefineList(DefineMap& uniformMap,const StateSet::DefineList& defineList);
|
||||
inline void popDefineList(DefineMap& defineMap,const StateSet::DefineList& defineList);
|
||||
|
||||
inline void applyModeList(ModeMap& modeMap,const StateSet::ModeList& modeList);
|
||||
inline void applyAttributeList(AttributeMap& attributeMap,const StateSet::AttributeList& attributeList);
|
||||
inline void applyUniformList(UniformMap& uniformMap,const StateSet::UniformList& uniformList);
|
||||
inline void applyDefineList(DefineMap& uniformMap,const StateSet::DefineList& defineList);
|
||||
inline void applyDefineList(DefineMap& defineMap,const StateSet::DefineList& defineList);
|
||||
|
||||
inline void applyModeMap(ModeMap& modeMap);
|
||||
inline void applyAttributeMap(AttributeMap& attributeMap);
|
||||
|
||||
@@ -62,9 +62,9 @@
|
||||
#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
|
||||
#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
|
||||
#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3
|
||||
#define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT 0x8C4C
|
||||
#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT 0x8C4D
|
||||
#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E
|
||||
#define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT 0x8C4C
|
||||
#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT 0x8C4D
|
||||
#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E
|
||||
#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F
|
||||
#endif
|
||||
|
||||
|
||||
@@ -105,12 +105,12 @@ namespace osgAnimation
|
||||
// 2. build deduplicated list of keyframes
|
||||
unsigned int cumul = 0;
|
||||
VectorType deduplicated;
|
||||
for(std::vector<unsigned int>::iterator iterator = intervalSizes.begin() ; iterator != intervalSizes.end() ; ++ iterator) {
|
||||
for(std::vector<unsigned int>::iterator it = intervalSizes.begin() ; it != intervalSizes.end() ; ++ it) {
|
||||
deduplicated.push_back((*this)[cumul]);
|
||||
if(*iterator > 1) {
|
||||
deduplicated.push_back((*this)[cumul + (*iterator) - 1]);
|
||||
if(*it > 1) {
|
||||
deduplicated.push_back((*this)[cumul + (*it) - 1]);
|
||||
}
|
||||
cumul += *iterator;
|
||||
cumul += *it;
|
||||
}
|
||||
|
||||
unsigned int count = size() - deduplicated.size();
|
||||
|
||||
@@ -50,7 +50,8 @@ namespace osgDB {
|
||||
The RegisterReaderWriterProxy can be used to automatically
|
||||
register at runtime a reader/writer with the Registry.
|
||||
*/
|
||||
class OSGDB_EXPORT Registry : public osg::Referenced
|
||||
class OSGDB_EXPORT Registry : osg::depends_on<OpenThreads::Mutex*, osg::Referenced::getGlobalReferencedMutex>,
|
||||
public osg::Referenced
|
||||
{
|
||||
public:
|
||||
|
||||
|
||||
@@ -283,7 +283,9 @@ struct GraphicsWindowFunctionProxy
|
||||
extern "C" void graphicswindow_##ext(void); \
|
||||
static osgViewer::GraphicsWindowFunctionProxy graphicswindowproxy_##ext(graphicswindow_##ext);
|
||||
|
||||
#if defined(_WIN32)
|
||||
#if defined(OSG_WINDOWING_SYSTEM_NONE)
|
||||
#define USE_GRAPHICSWINDOW()
|
||||
#elif defined(_WIN32)
|
||||
#define USE_GRAPHICSWINDOW() USE_GRAPICSWINDOW_IMPLEMENTATION(Win32)
|
||||
#elif defined(__APPLE__)
|
||||
#if defined(OSG_WINDOWING_SYSTEM_CARBON)
|
||||
|
||||
@@ -75,7 +75,7 @@ public:
|
||||
Widget (const std::string& = "", point_type = 0.0f, point_type = 0.0f);
|
||||
Widget (const Widget&, const osg::CopyOp&);
|
||||
|
||||
META_Object (osgWidget, Widget);
|
||||
META_Node (osgWidget, Widget);
|
||||
|
||||
virtual ~Widget() {
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user