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:
@@ -39,6 +39,14 @@ class OSG_EXPORT UserDataContainer : public osg::Object
|
||||
by derived classes.*/
|
||||
virtual const char* className() const { return "UserDataContainer"; }
|
||||
|
||||
/** Convert 'this' into a UserDataContainer pointer if Object is a UserDataContainer, otherwise return 0.
|
||||
* Equivalent to dynamic_cast<UserDataContainer*>(this).*/
|
||||
virtual UserDataContainer* asUserDataContainer() { return this; }
|
||||
|
||||
/** 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 this; }
|
||||
|
||||
/**
|
||||
* Set user data, data must be subclassed from Referenced to allow
|
||||
* automatic memory handling. If your own data isn't directly
|
||||
@@ -209,7 +217,6 @@ inline const Object* getUserObject(const osg::Object* object, const std::string&
|
||||
return udc ? udc->getUserObject(name) : 0;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user