OpenSceneGraph
|
StatsVisitor for collecting statistics about scene graph. More...
Public Types | |
typedef std::set< osg::Node * > | NodeSet |
typedef std::set< osg::Drawable * > | DrawableSet |
typedef std::set< osg::StateSet * > | StateSetSet |
![]() | |
enum | TraversalMode { TRAVERSE_NONE, TRAVERSE_PARENTS, TRAVERSE_ALL_CHILDREN, TRAVERSE_ACTIVE_CHILDREN } |
enum | VisitorType { NODE_VISITOR = 0, UPDATE_VISITOR, EVENT_VISITOR, COLLECT_OCCLUDER_VISITOR, CULL_VISITOR, INTERSECTION_VISITOR } |
![]() | |
enum | DataVariance { DYNAMIC, STATIC, UNSPECIFIED } |
Public Member Functions | |
META_NodeVisitor (osgUtil, StatsVisitor) virtual void reset() | |
virtual void | apply (osg::Node &node) |
virtual void | apply (osg::Group &node) |
virtual void | apply (osg::Transform &node) |
virtual void | apply (osg::LOD &node) |
virtual void | apply (osg::Switch &node) |
virtual void | apply (osg::Geode &node) |
virtual void | apply (osg::Drawable &drawable) |
virtual void | apply (osg::StateSet &ss) |
virtual void | totalUpStats () |
virtual void | print (std::ostream &out) |
![]() | |
NodeVisitor (TraversalMode tm=TRAVERSE_NONE) | |
NodeVisitor (VisitorType type, TraversalMode tm=TRAVERSE_NONE) | |
NodeVisitor (const NodeVisitor &nv, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) | |
META_Object (osg, NodeVisitor) virtual NodeVisitor *asNodeVisitor() | |
Convert 'this' into a NodeVisitor pointer if Object is a NodeVisitor, otherwise return 0. More... | |
virtual const NodeVisitor * | asNodeVisitor () const |
convert 'const this' into a const NodeVisitor pointer if Object is a NodeVisitor, otherwise return 0. More... | |
virtual void | reset () |
Method to call to reset visitor. More... | |
void | setVisitorType (VisitorType type) |
Set the VisitorType, used to distinguish different visitors during traversal of the scene, typically used in the Node::traverse() method to select which behaviour to use for different types of traversal/visitors. More... | |
VisitorType | getVisitorType () const |
Get the VisitorType. More... | |
void | setTraversalNumber (unsigned int fn) |
Set the traversal number. More... | |
unsigned int | getTraversalNumber () const |
Get the traversal number. More... | |
void | setFrameStamp (FrameStamp *fs) |
Set the FrameStamp that this traversal is associated with. More... | |
const FrameStamp * | getFrameStamp () const |
Get the FrameStamp that this traversal is associated with. More... | |
void | setTraversalMask (Node::NodeMask mask) |
Set the TraversalMask of this NodeVisitor. More... | |
Node::NodeMask | getTraversalMask () const |
Get the TraversalMask. More... | |
void | setNodeMaskOverride (Node::NodeMask mask) |
Set the NodeMaskOverride mask. More... | |
Node::NodeMask | getNodeMaskOverride () const |
Get the NodeMaskOverride mask. More... | |
bool | validNodeMask (const osg::Node &node) const |
Method to called by Node and its subclass' Node::accept() method, if the result is true it is used to cull operations of nodes and their subgraphs. More... | |
void | setTraversalMode (TraversalMode mode) |
Set the traversal mode for Node::traverse() to use when deciding which children of a node to traverse. More... | |
TraversalMode | getTraversalMode () const |
Get the traversal mode. More... | |
void | traverse (Node &node) |
Method for handling traversal of a nodes. More... | |
void | pushOntoNodePath (Node *node) |
Method called by osg::Node::accept() method before a call to the NodeVisitor::apply(..). More... | |
void | popFromNodePath () |
Method called by osg::Node::accept() method after a call to NodeVisitor::apply(..). More... | |
NodePath & | getNodePath () |
Get the non const NodePath from the top most node applied down to the current Node being visited. More... | |
const NodePath & | getNodePath () const |
Get the const NodePath from the top most node applied down to the current Node being visited. More... | |
virtual osg::Vec3 | getEyePoint () const |
Get the eye point in local coordinates. More... | |
virtual osg::Vec3 | getViewPoint () const |
Get the view point in local coordinates. More... | |
virtual float | getDistanceToEyePoint (const Vec3 &, bool) const |
Get the distance from a point to the eye point, distance value in local coordinate system. More... | |
virtual float | getDistanceFromEyePoint (const Vec3 &, bool) const |
Get the distance of a point from the eye point, distance value in the eye coordinate system. More... | |
virtual float | getDistanceToViewPoint (const Vec3 &, bool) const |
Get the distance from a point to the view point, distance value in local coordinate system. More... | |
virtual void | apply (Geometry &geometry) |
virtual void | apply (Billboard &node) |
virtual void | apply (ProxyNode &node) |
virtual void | apply (Projection &node) |
virtual void | apply (CoordinateSystemNode &node) |
virtual void | apply (ClipNode &node) |
virtual void | apply (TexGenNode &node) |
virtual void | apply (LightSource &node) |
virtual void | apply (Camera &node) |
virtual void | apply (CameraView &node) |
virtual void | apply (MatrixTransform &node) |
virtual void | apply (PositionAttitudeTransform &node) |
virtual void | apply (Sequence &node) |
virtual void | apply (PagedLOD &node) |
virtual void | apply (ClearNode &node) |
virtual void | apply (OccluderNode &node) |
virtual void | apply (OcclusionQueryNode &node) |
void | setDatabaseRequestHandler (DatabaseRequestHandler *handler) |
Set the handler for database requests. More... | |
DatabaseRequestHandler * | getDatabaseRequestHandler () |
Get the handler for database requests. More... | |
const DatabaseRequestHandler * | getDatabaseRequestHandler () const |
Get the const handler for database requests. More... | |
void | setImageRequestHandler (ImageRequestHandler *handler) |
Set the handler for image requests. More... | |
ImageRequestHandler * | getImageRequestHandler () |
Get the handler for image requests. More... | |
const ImageRequestHandler * | getImageRequestHandler () const |
Get the const handler for image requests. More... | |
![]() | |
Object () | |
Construct an object. More... | |
Object (bool threadSafeRefUnref) | |
Object (const Object &, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
Copy constructor, optional CopyOp object can be used to control shallow vs deep copying of dynamic data. More... | |
virtual Object * | cloneType () const =0 |
Clone the type of an object, with Object* return type. More... | |
virtual Object * | clone (const CopyOp &) const =0 |
Clone an object, with Object* return type. More... | |
virtual bool | isSameKindAs (const Object *) const |
virtual const char * | libraryName () const =0 |
return the name of the object's library. More... | |
virtual const char * | className () const =0 |
return the name of the object's class type. More... | |
std::string | getCompoundClassName () const |
return the compound class name that combines the library name and class name. More... | |
virtual Node * | asNode () |
Convert 'this' into a Node pointer if Object is a Node, otherwise return 0. More... | |
virtual const Node * | asNode () const |
convert 'const this' into a const Node pointer if Object is a Node, otherwise return 0. More... | |
virtual NodeVisitor * | asNodeVisitor () |
Convert 'this' into a NodeVisitor pointer if Object is a NodeVisitor, otherwise return 0. More... | |
virtual StateAttribute * | asStateAttribute () |
Convert 'this' into a StateAttribute pointer if Object is a StateAttribute, otherwise return 0. More... | |
virtual const StateAttribute * | asStateAttribute () const |
convert 'const this' into a const StateAttribute pointer if Object is a StateAttribute, otherwise return 0. More... | |
virtual Uniform * | asUniform () |
Convert 'this' into a Uniform pointer if Object is a Uniform, otherwise return 0. More... | |
virtual const Uniform * | asUniform () const |
convert 'const this' into a const Uniform pointer if Object is a Uniform, otherwise return 0. More... | |
virtual void | setThreadSafeRefUnref (bool threadSafe) |
Set whether to use a mutex to ensure ref() and unref() are thread safe. More... | |
virtual void | setName (const std::string &name) |
Set the name of object using C++ style string. More... | |
void | setName (const char *name) |
Set the name of object using a C style string. More... | |
const std::string & | getName () const |
Get the name of object. More... | |
void | setDataVariance (DataVariance dv) |
Set the data variance of this object. More... | |
DataVariance | getDataVariance () const |
Get the data variance of this object. More... | |
virtual void | computeDataVariance () |
Compute the DataVariance based on an assessment of callback etc. More... | |
void | setUserDataContainer (osg::UserDataContainer *udc) |
set the UserDataContainer object. More... | |
template<class T > | |
void | setUserDataContainer (const ref_ptr< T > &udc) |
osg::UserDataContainer * | getUserDataContainer () |
get the UserDataContainer attached to this object. More... | |
const osg::UserDataContainer * | getUserDataContainer () const |
get the const UserDataContainer attached to this object. More... | |
osg::UserDataContainer * | getOrCreateUserDataContainer () |
Convenience method that returns the UserDataContainer, and if one doesn't already exist creates and assigns a DefaultUserDataContainer to the Object and then return this new UserDataContainer. More... | |
virtual void | setUserData (Referenced *obj) |
Set user data, data must be subclassed from Referenced to allow automatic memory handling. More... | |
template<class T > | |
void | setUserData (const ref_ptr< T > &ud) |
virtual Referenced * | getUserData () |
Get user data. More... | |
virtual const Referenced * | getUserData () const |
Get const user data. More... | |
template<typename T > | |
bool | getUserValue (const std::string &name, T &value) const |
Convenience method that casts the named UserObject to osg::TemplateValueObject<T> and gets the value. More... | |
template<typename T > | |
void | setUserValue (const std::string &name, const T &value) |
Convenience method that creates the osg::TemplateValueObject<T> to store the specified value and adds it as a named UserObject. More... | |
virtual void | resizeGLObjectBuffers (unsigned int) |
Resize any per context GLObject buffers to specified size. More... | |
virtual void | releaseGLObjects (osg::State *=0) const |
If State is non-zero, this function releases any associated OpenGL objects for the specified graphics context. More... | |
template<typename T > | |
BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject BoundingBoxdValueObject BoundingSpheredValueObject bool | getUserValue (const std::string &name, T &value) const |
provide implementation of osg::Object::getUserValue(..) template | |
![]() | |
Referenced (bool threadSafeRefUnref) | |
Referenced (const Referenced &) | |
Referenced & | operator= (const Referenced &) |
bool | getThreadSafeRefUnref () const |
Get whether a mutex is used to ensure ref() and unref() are thread safe. More... | |
bool | getThreadSafeRefUnref () const |
OpenThreads::Mutex * | getRefMutex () const |
Get the mutex used to ensure thread safety of ref()/unref(). More... | |
OpenThreads::Mutex * | getRefMutex () const |
int | ref () const |
Increment the reference count by one, indicating that this object has another pointer which is referencing it. More... | |
int | unref () const |
Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. More... | |
int | unref_nodelete () const |
Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. More... | |
int | referenceCount () const |
Return the number of pointers currently referencing this object. More... | |
ObserverSet * | getObserverSet () const |
Get the ObserverSet if one is attached, otherwise return NULL. More... | |
ObserverSet * | getOrCreateObserverSet () const |
Get the ObserverSet if one is attached, otherwise create an ObserverSet, attach it, then return this newly created ObserverSet. More... | |
void | addObserver (Observer *observer) const |
Add a Observer that is observing this object, notify the Observer when this object gets deleted. More... | |
void | removeObserver (Observer *observer) const |
Remove Observer that is observing this object. More... | |
Public Attributes | |
unsigned int | _numInstancedGroup |
unsigned int | _numInstancedSwitch |
unsigned int | _numInstancedLOD |
unsigned int | _numInstancedTransform |
unsigned int | _numInstancedGeode |
unsigned int | _numInstancedDrawable |
unsigned int | _numInstancedGeometry |
unsigned int | _numInstancedFastGeometry |
unsigned int | _numInstancedStateSet |
NodeSet | _groupSet |
NodeSet | _transformSet |
NodeSet | _lodSet |
NodeSet | _switchSet |
NodeSet | _geodeSet |
DrawableSet | _drawableSet |
DrawableSet | _geometrySet |
DrawableSet | _fastGeometrySet |
StateSetSet | _statesetSet |
osgUtil::Statistics | _uniqueStats |
osgUtil::Statistics | _instancedStats |
Additional Inherited Members | |
![]() | |
static OpenThreads::Mutex * | getGlobalReferencedMutex () |
Get the optional global Referenced mutex, this can be shared between all osg::Referenced. More... | |
static void | setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting) |
Set whether reference counting should use a mutex for thread safe reference counting. More... | |
static bool | getThreadSafeReferenceCounting () |
Get whether reference counting is active. More... | |
static void | setDeleteHandler (DeleteHandler *handler) |
Set a DeleteHandler to which deletion of all referenced counted objects will be delegated. More... | |
static DeleteHandler * | getDeleteHandler () |
Get a DeleteHandler. More... | |
![]() | |
virtual | ~Object () |
Object destructor. More... | |
![]() | |
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const |
void | deleteUsingDeleteHandler () const |
![]() | |
VisitorType | _visitorType |
unsigned int | _traversalNumber |
ref_ptr< FrameStamp > | _frameStamp |
TraversalMode | _traversalMode |
Node::NodeMask | _traversalMask |
Node::NodeMask | _nodeMaskOverride |
NodePath | _nodePath |
ref_ptr< DatabaseRequestHandler > | _databaseRequestHandler |
ref_ptr< ImageRequestHandler > | _imageRequestHandler |
![]() | |
std::string | _name |
DataVariance | _dataVariance |
osg::UserDataContainer * | _userDataContainer |
![]() | |
OpenThreads::AtomicPtr | _observerSet |
OpenThreads::Atomic | _refCount |
OpenThreads::Mutex * | _refMutex |
int | _refCount |
void * | _observerSet |
StatsVisitor for collecting statistics about scene graph.