openscenegraph
|
#include <UserDataContainer>
Public Types | |
typedef std::vector< std::string > | DescriptionList |
![]() | |
enum | DataVariance { DYNAMIC , STATIC , UNSPECIFIED } |
Public Member Functions | |
UserDataContainer () | |
UserDataContainer (const UserDataContainer &udc, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) | |
virtual bool | isSameKindAs (const Object *obj) const |
virtual const char * | libraryName () const |
virtual const char * | className () const |
virtual UserDataContainer * | asUserDataContainer () |
virtual const UserDataContainer * | asUserDataContainer () const |
virtual void | setUserData (Referenced *obj)=0 |
virtual Referenced * | getUserData ()=0 |
virtual const Referenced * | getUserData () const =0 |
virtual unsigned int | addUserObject (Object *obj)=0 |
template<class T > | |
unsigned int | addUserObject (const osg::ref_ptr< T > &obj) |
virtual void | setUserObject (unsigned int i, Object *obj)=0 |
virtual void | removeUserObject (unsigned int i)=0 |
virtual Object * | getUserObject (unsigned int i)=0 |
virtual const Object * | getUserObject (unsigned int i) const =0 |
virtual unsigned int | getNumUserObjects () const =0 |
virtual unsigned int | getUserObjectIndex (const osg::Object *obj, unsigned int startPos=0) const =0 |
virtual unsigned int | getUserObjectIndex (const std::string &name, unsigned int startPos=0) const =0 |
virtual Object * | getUserObject (const std::string &name, unsigned int startPos=0) |
virtual const Object * | getUserObject (const std::string &name, unsigned int startPos=0) const |
virtual void | setDescriptions (const DescriptionList &descriptions)=0 |
virtual DescriptionList & | getDescriptions ()=0 |
virtual const DescriptionList & | getDescriptions () const =0 |
virtual unsigned int | getNumDescriptions () const =0 |
virtual void | addDescription (const std::string &desc)=0 |
![]() | |
Object () | |
Object (bool threadSafeRefUnref) | |
Object (const Object &, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
virtual Object * | cloneType () const =0 |
virtual Object * | clone (const CopyOp &) const =0 |
std::string | getCompoundClassName () const |
virtual Node * | asNode () |
virtual const Node * | asNode () const |
virtual NodeVisitor * | asNodeVisitor () |
virtual const NodeVisitor * | asNodeVisitor () const |
virtual StateSet * | asStateSet () |
virtual const StateSet * | asStateSet () const |
virtual StateAttribute * | asStateAttribute () |
virtual const StateAttribute * | asStateAttribute () const |
virtual Uniform * | asUniform () |
virtual const Uniform * | asUniform () const |
virtual Camera * | asCamera () |
virtual const Camera * | asCamera () const |
virtual Drawable * | asDrawable () |
virtual const Drawable * | asDrawable () const |
virtual Callback * | asCallback () |
virtual const Callback * | asCallback () const |
virtual CallbackObject * | asCallbackObject () |
virtual const CallbackObject * | asCallbackObject () const |
virtual ValueObject * | asValueObject () |
virtual const ValueObject * | asValueObject () const |
virtual Image * | asImage () |
virtual const Image * | asImage () const |
virtual void | setThreadSafeRefUnref (bool threadSafe) |
virtual void | setName (const std::string &name) |
void | setName (const char *name) |
const std::string & | getName () const |
void | setDataVariance (DataVariance dv) |
DataVariance | getDataVariance () const |
virtual void | computeDataVariance () |
void | setUserDataContainer (osg::UserDataContainer *udc) |
template<class T > | |
void | setUserDataContainer (const ref_ptr< T > &udc) |
osg::UserDataContainer * | getUserDataContainer () |
const osg::UserDataContainer * | getUserDataContainer () const |
osg::UserDataContainer * | getOrCreateUserDataContainer () |
template<class T > | |
void | setUserData (const ref_ptr< T > &ud) |
template<typename T > | |
bool | getUserValue (const std::string &name, T &value) const |
template<typename T > | |
void | setUserValue (const std::string &name, const T &value) |
virtual void | resizeGLObjectBuffers (unsigned int) |
virtual void | releaseGLObjects (osg::State *=0) const |
template<typename T > | |
BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject BoundingBoxdValueObject BoundingSpheredValueObject bool | getUserValue (const std::string &name, T &value) const |
![]() | |
Referenced () | |
Referenced (bool threadSafeRefUnref) | |
Referenced (const Referenced &) | |
Referenced & | operator= (const Referenced &) |
bool | getThreadSafeRefUnref () const |
OpenThreads::Mutex * | getRefMutex () const |
int | ref () const |
int | unref () const |
int | unref_nodelete () const |
int | referenceCount () const |
ObserverSet * | getObserverSet () const |
ObserverSet * | getOrCreateObserverSet () const |
void | addObserver (Observer *observer) const |
void | removeObserver (Observer *observer) const |
Protected Member Functions | |
virtual | ~UserDataContainer () |
![]() | |
virtual | ~Object () |
![]() | |
virtual | ~Referenced () |
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const |
void | deleteUsingDeleteHandler () const |
Additional Inherited Members | |
![]() | |
static OpenThreads::Mutex * | getGlobalReferencedMutex () |
static void | setDeleteHandler (DeleteHandler *handler) |
static DeleteHandler * | getDeleteHandler () |
![]() | |
std::string | _name |
DataVariance | _dataVariance |
osg::UserDataContainer * | _userDataContainer |
![]() | |
OpenThreads::AtomicPtr | _observerSet |
OpenThreads::Atomic | _refCount |
Internal structure for storing all user data.
typedef std::vector<std::string> osg::UserDataContainer::DescriptionList |
osg::UserDataContainer::UserDataContainer | ( | ) |
osg::UserDataContainer::UserDataContainer | ( | const UserDataContainer & | udc, |
const osg::CopyOp & | copyop = osg::CopyOp::SHALLOW_COPY |
||
) |
|
inlineprotectedvirtual |
|
pure virtual |
Add a description string.
Implemented in osg::DefaultUserDataContainer.
|
inline |
References addUserObject(), and osg::ref_ptr< T >::get().
Referenced by addUserObject().
|
pure virtual |
Add user data object. Returns the index position of object added.
Implemented in osg::DefaultUserDataContainer.
Referenced by osg::getOrCreateUserObjectOfType(), osgDB::ClassInterface::setProperty(), and osg::Object::setUserValue().
|
inlinevirtual |
Convert 'this' into a UserDataContainer pointer if Object is a UserDataContainer, otherwise return 0. Equivalent to dynamic_cast<UserDataContainer*>(this).
Reimplemented from osg::Object.
|
inlinevirtual |
convert 'const this' into a const UserDataContainer pointer if Object is a UserDataContainer, otherwise return 0. Equivalent to dynamic_cast<const UserDataContainer*>(this).
Reimplemented from osg::Object.
|
inlinevirtual |
return the name of the object's class type. Must be defined by derived classes.
Implements osg::Object.
|
pure virtual |
Get the const description list.
Implemented in osg::DefaultUserDataContainer.
|
pure virtual |
Get the description list.
Implemented in osg::DefaultUserDataContainer.
|
pure virtual |
Get number of description strings.
Implemented in osg::DefaultUserDataContainer.
|
pure virtual |
Get number of user objects assigned to this object.
Implemented in osg::DefaultUserDataContainer.
Referenced by osg::runNamedCallbackObjects().
|
pure virtual |
|
pure virtual |
|
virtual |
Get first user data object with specified name.
|
virtual |
Get first const user data object with specified name.
|
pure virtual |
Get const user data object as specified index position.
Implemented in osg::DefaultUserDataContainer.
|
pure virtual |
Get user data object as specified index position.
Implemented in osg::DefaultUserDataContainer.
Referenced by osg::getCallbackObject(), osg::getCallbackObject(), osg::getOrCreateUserObjectOfType(), osgDB::ClassInterface::getProperty(), osg::getUserObject(), osg::getUserObject(), osg::Object::getUserValue(), osg::runNamedCallbackObjects(), osgDB::ClassInterface::setProperty(), and osg::Object::setUserValue().
|
pure virtual |
Get the index position of specified user data object.
Implemented in osg::DefaultUserDataContainer.
Referenced by osg::getOrCreateUserObjectOfType(), osgDB::ClassInterface::setProperty(), and osg::Object::setUserValue().
|
pure virtual |
Get the index position of first user data object that matches specified name.
Implemented in osg::DefaultUserDataContainer.
|
inlinevirtual |
Reimplemented from osg::Object.
|
inlinevirtual |
return the name of the object's library. Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name.
Implements osg::Object.
|
pure virtual |
Remove element from the list of user data objects.
Implemented in osg::DefaultUserDataContainer.
|
pure virtual |
Set the list of string descriptions.
Implemented in osg::DefaultUserDataContainer.
|
pure virtual |
Set user data, data must be subclassed from Referenced to allow automatic memory handling. If your own data isn't directly subclassed from Referenced then create an adapter object which points to your own object and handles the memory addressing.
Reimplemented from osg::Object.
Implemented in osg::DefaultUserDataContainer.
|
pure virtual |
Add element to list of user data objects.
Implemented in osg::DefaultUserDataContainer.
Referenced by osg::getOrCreateUserObjectOfType(), osgDB::ClassInterface::setProperty(), and osg::Object::setUserValue().