OpenSceneGraph
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
osg::ObserverNodePath Class Reference

ObserverNodePath is an observer class for tracking changes to a NodePath, that automatically invalidates it when nodes are deleted. More...

Public Member Functions

 ObserverNodePath ()
 
 ObserverNodePath (const ObserverNodePath &rhs)
 
 ObserverNodePath (const osg::NodePath &nodePath)
 
 ~ObserverNodePath ()
 
ObserverNodePathoperator= (const ObserverNodePath &rhs)
 
void setNodePathTo (osg::Node *node)
 get the NodePath from the first parental chain back to root, plus the specified node. More...
 
void setNodePath (const osg::RefNodePath &nodePath)
 
void setNodePath (const osg::NodePath &nodePath)
 
void clearNodePath ()
 
bool getRefNodePath (RefNodePath &refNodePath) const
 Get a thread safe RefNodePath, return true if NodePath is valid. More...
 
bool getNodePath (NodePath &nodePath) const
 Get a lightweight NodePath that isn't thread safe but may be safely used in single threaded applications, or when its known that the NodePath won't be invalidated during usage of the NodePath. More...
 
bool empty () const
 

Protected Types

typedef std::vector< osg::observer_ptr< osg::Node > > ObsNodePath
 

Protected Member Functions

void _setNodePath (const osg::NodePath &nodePath)
 
void _clearNodePath ()
 

Protected Attributes

OpenThreads::Mutex _mutex
 
ObsNodePath _nodePath
 

Detailed Description

ObserverNodePath is an observer class for tracking changes to a NodePath, that automatically invalidates it when nodes are deleted.

Member Typedef Documentation

◆ ObsNodePath

Constructor & Destructor Documentation

◆ ObserverNodePath() [1/3]

osg::ObserverNodePath::ObserverNodePath ( )

◆ ObserverNodePath() [2/3]

osg::ObserverNodePath::ObserverNodePath ( const ObserverNodePath rhs)

◆ ObserverNodePath() [3/3]

osg::ObserverNodePath::ObserverNodePath ( const osg::NodePath nodePath)

◆ ~ObserverNodePath()

osg::ObserverNodePath::~ObserverNodePath ( )

Member Function Documentation

◆ _clearNodePath()

void osg::ObserverNodePath::_clearNodePath ( )
protected

◆ _setNodePath()

void osg::ObserverNodePath::_setNodePath ( const osg::NodePath nodePath)
protected

◆ clearNodePath()

void osg::ObserverNodePath::clearNodePath ( )

◆ empty()

bool osg::ObserverNodePath::empty ( ) const
inline

◆ getNodePath()

bool osg::ObserverNodePath::getNodePath ( NodePath nodePath) const

Get a lightweight NodePath that isn't thread safe but may be safely used in single threaded applications, or when its known that the NodePath won't be invalidated during usage of the NodePath.

return true if NodePath is valid.

◆ getRefNodePath()

bool osg::ObserverNodePath::getRefNodePath ( RefNodePath refNodePath) const

Get a thread safe RefNodePath, return true if NodePath is valid.

◆ operator=()

ObserverNodePath& osg::ObserverNodePath::operator= ( const ObserverNodePath rhs)

◆ setNodePath() [1/2]

void osg::ObserverNodePath::setNodePath ( const osg::RefNodePath nodePath)

◆ setNodePath() [2/2]

void osg::ObserverNodePath::setNodePath ( const osg::NodePath nodePath)

◆ setNodePathTo()

void osg::ObserverNodePath::setNodePathTo ( osg::Node node)

get the NodePath from the first parental chain back to root, plus the specified node.

Member Data Documentation

◆ _mutex

OpenThreads::Mutex osg::ObserverNodePath::_mutex
mutableprotected

◆ _nodePath

ObsNodePath osg::ObserverNodePath::_nodePath
protected

The documentation for this class was generated from the following file: