Improved the speed of the ValueObject get/setting by utilizing typeid() and static_cast<> in place of original dynamic_cast<>'s
This commit is contained in:
@@ -141,7 +141,7 @@ class OSG_EXPORT Object : public Referenced
|
||||
/** Convert 'this' into a Camera pointer if Node is a Camera, otherwise return 0.
|
||||
* Equivalent to dynamic_cast<Camera*>(this).*/
|
||||
virtual Camera* asCamera() { return 0; }
|
||||
|
||||
|
||||
/** convert 'const this' into a const Camera pointer if Node is a Camera, otherwise return 0.
|
||||
* Equivalent to dynamic_cast<const Camera*>(this).*/
|
||||
virtual const Camera* asCamera() const { return 0; }
|
||||
@@ -170,6 +170,14 @@ class OSG_EXPORT Object : public Referenced
|
||||
* Equivalent to dynamic_cast<const CallbackObject*>(this).*/
|
||||
virtual const CallbackObject* asCallbackObject() const { return 0; }
|
||||
|
||||
/** Convert 'this' into a UserDataContainer pointer if Object is a UserDataContainer, otherwise return 0.
|
||||
* Equivalent to dynamic_cast<UserDataContainer*>(this).*/
|
||||
virtual UserDataContainer* asUserDataContainer() { return 0; }
|
||||
|
||||
/** convert 'const this' into a const UserDataContainer pointer if Object is a UserDataContainer, otherwise return 0.
|
||||
* Equivalent to dynamic_cast<const UserDataContainer*>(this).*/
|
||||
virtual const UserDataContainer* asUserDataContainer() const { return 0; }
|
||||
|
||||
|
||||
/** Set whether to use a mutex to ensure ref() and unref() are thread safe.*/
|
||||
virtual void setThreadSafeRefUnref(bool threadSafe);
|
||||
@@ -366,7 +374,6 @@ protected:
|
||||
};
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user