Public Member Functions | |
Observer () | |
virtual | ~Observer () |
OpenThreads::Mutex * | getObserverMutex () const |
virtual bool | objectUnreferenced (void *) |
virtual void | objectDeleted (void *) |
Static Public Member Functions | |
static OpenThreads::Mutex * | getGlobalObserverMutex () |
osg::Observer::Observer | ( | ) |
virtual osg::Observer::~Observer | ( | ) | [virtual] |
static OpenThreads::Mutex* osg::Observer::getGlobalObserverMutex | ( | ) | [static] |
Get the optional global observer mutex, this can be shared between all osg::Observer.
Referenced by getObserverMutex(), and osg::ObserverSet::getObserverSetMutex().
OpenThreads::Mutex* osg::Observer::getObserverMutex | ( | ) | const [inline] |
References getGlobalObserverMutex().
Referenced by osg::observer_ptr< osgWidget::Widget >::lock(), osg::observer_ptr< osgWidget::Widget >::objectDeleted(), osg::observer_ptr< osgWidget::Widget >::observer_ptr(), osg::observer_ptr< osgWidget::Widget >::operator=(), and osg::observer_ptr< osgWidget::Widget >::~observer_ptr().
virtual bool osg::Observer::objectUnreferenced | ( | void * | ) | [inline, virtual] |
objectUnreferenced(void*) is called when the observed object's referenced count goes to zero, indicating that the object will be deleted unless a new reference is made to it. If you wish to prevent deletion of the object then it's reference count should be incremented such as via taking a ref_ptr<> to it, if no refernce is taken by any of the observers of the object then the object will be deleted, and objectDeleted will in turn be called. return true if the Observer wishes to removed from the oberseved objects observer set.
Reimplemented in osg::ObserverNodePath.
virtual void osg::Observer::objectDeleted | ( | void * | ) | [inline, virtual] |
objectDeleted is called when the observed object is about to be deleted. The observer will be automatically removed from the observerd objects observer set so there is no need for the objectDeleted implementation to call removeObserver() on the observed object.
Reimplemented in osg::observer_ptr< T >, osg::State, osg::observer_ptr< osgDB::DatabasePager >, osg::observer_ptr< osg::MatrixTransform >, osg::observer_ptr< osgWidget::Window >, osg::observer_ptr< osgWidget::WindowManager >, osg::observer_ptr< osgViewer::Viewer >, osg::observer_ptr< osgShadow::MinimalDrawBoundsShadowMap::ViewData >, osg::observer_ptr< osg::Object >, osg::observer_ptr< osg::Switch >, osg::observer_ptr< osgShadow::ViewDependentShadowTechnique >, osg::observer_ptr< osgAnimation::AnimationManagerBase >, osg::observer_ptr< osgViewer::ViewerBase >, osg::observer_ptr< osgAnimation::Skeleton >, osg::observer_ptr< osg::Node >, osg::observer_ptr< osgAnimation::Bone >, osg::observer_ptr< osg::GraphicsContext >, osg::observer_ptr< osg::Camera >, osg::observer_ptr< osg::Image >, osg::observer_ptr< osgUtil::CullVisitor >, osg::observer_ptr< osgViewer::View >, and osg::observer_ptr< osgWidget::Widget >.