Inheritance diagram for osg::Node:
Public Types | |
typedef std::vector< Group * > | ParentList |
A vector of osg::Group pointers which is used to store the parent(s) of node. | |
typedef unsigned int | NodeMask |
typedef std::vector< std::string > | DescriptionList |
A vector of std::string's which are used to describe the object. | |
Public Methods | |
Node () | |
Construct a node. | |
Node (const Node &, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
Copy constructor using CopyOp to manage deep vs shallow copy. | |
virtual Object * | cloneType () const |
clone the an object of the same type as the node. | |
virtual Object * | clone (const CopyOp ©op) const |
return a clone of a node, with Object* return type. | |
virtual bool | isSameKindAs (const Object *obj) const |
return true if this and obj are of the same kind of object. | |
virtual const char * | libraryName () const |
return the name of the node's library. | |
virtual const char * | className () const |
return the name of the node's class type. | |
virtual void | accept (NodeVisitor &nv) |
Visitor Pattern : calls the apply method of a NodeVisitor with this node's type. | |
virtual void | ascend (NodeVisitor &nv) |
Traverse upwards : calls parents' accept method with NodeVisitor. | |
virtual void | traverse (NodeVisitor &) |
Traverse downwards : calls children's accept method with NodeVisitor. | |
void | setName (const std::string &name) |
Set the name of node using C++ style string. | |
void | setName (const char *name) |
Set the name of node using a C style string. | |
const std::string & | getName () const |
Get the name of node. | |
const ParentList & | getParents () const |
Get the parent list of node. | |
ParentList | getParents () |
Get the a copy of parent list of node. | |
Group * | getParent (const unsigned int i) |
const Group * | getParent (const unsigned int i) const |
Get a single const parent of node. | |
const unsigned int | getNumParents () const |
Get the number of parents of node. | |
void | setAppCallback (NodeCallback *nc) |
Set app node callback, called during app traversal. | |
NodeCallback * | getAppCallback () |
Get app node callback, called during app traversal. | |
const NodeCallback * | getAppCallback () const |
Get const app node callback, called during app traversal. | |
const int | getNumChildrenRequiringAppTraversal () const |
Get the number of Children of this node which require App traversal, since they have an AppCallback attached to them or their children. | |
void | setCullCallback (NodeCallback *nc) |
Set cull node callback, called during cull traversal. | |
NodeCallback * | getCullCallback () |
Get app node callback, called during app traversal. | |
const NodeCallback * | getCullCallback () const |
Get const app node callback, called during app traversal. | |
void | setCullingActive (const bool active) |
Set the view frustum/small feature culling of this node to be active or inactive. | |
const bool | getCullingActive () const |
Get the view frustum/small feature _cullingActive flag for this node. | |
const int | getNumChildrenWithCullingDisabled () const |
Get the number of Children of this node which have culling disabled. | |
const bool | isCullingActive () const |
Return true if this node can be culled by view frustum, occlusion or small feature culling during the cull traversal. | |
const int | getNumChildrenWithOccluderNodes () const |
Get the number of Children of this node which are or have OccluderNode's. | |
const bool | containsOccluderNodes () const |
return true if this node is an OccluderNode or the subgraph below this node are OccluderNodes. | |
void | setNodeMask (const NodeMask nm) |
Set the node mask. | |
const NodeMask | getNodeMask () const |
Get the node Mask. | |
const DescriptionList & | getDescriptions () const |
Get the description list of the const node. | |
DescriptionList & | getDescriptions () |
Get the description list of the const node. | |
const std::string & | getDescription (const int i) const |
Get a single const description of the const node. | |
std::string & | getDescription (const int i) |
Get a single description of the node. | |
const int | getNumDescriptions () const |
Get the number of descriptions of the node. | |
void | addDescription (const std::string &desc) |
Add a description string to the node. | |
void | setStateSet (osg::StateSet *dstate) |
set the node's StateSet. | |
osg::StateSet * | getValidStateSet () |
return the node's StateSet, if one does not already exist create it set the node and return the newly created StateSet. | |
osg::StateSet * | getStateSet () |
return the node's StateSet. | |
const osg::StateSet * | getStateSet () const |
return the node's const StateSet. | |
const BoundingSphere & | getBound () const |
get the bounding sphere of node. | |
void | dirtyBound () |
Mark this node's bounding sphere dirty. | |
Protected Methods | |
virtual | ~Node () |
Node destructor. | |
virtual const bool | computeBound () const |
Compute the bounding sphere around Node's geometry or children. | |
void | addParent (osg::Group *node) |
void | removeParent (osg::Group *node) |
void | setNumChildrenRequiringAppTraversal (const int num) |
void | setNumChildrenWithCullingDisabled (const int num) |
void | setNumChildrenWithOccluderNodes (const int num) |
Protected Attributes | |
BoundingSphere | _bsphere |
bool | _bsphere_computed |
std::string | _name |
ParentList | _parents |
ref_ptr< NodeCallback > | _appCallback |
int | _numChildrenRequiringAppTraversal |
ref_ptr< NodeCallback > | _cullCallback |
bool | _cullingActive |
int | _numChildrenWithCullingDisabled |
int | _numChildrenWithOccluderNodes |
NodeMask | _nodeMask |
DescriptionList | _descriptions |
ref_ptr< StateSet > | _dstate |
Friends | |
class | osg::Group |
class | osg::Drawable |
Provides interface for most common node operations (Composite Pattern).
|
A vector of std::string's which are used to describe the object.
|
|
|
|
A vector of osg::Group pointers which is used to store the parent(s) of node.
|
|
Construct a node. Initialize the parent list to empty, node name to "" and bounding sphere dirty flag to true. |
|
Copy constructor using CopyOp to manage deep vs shallow copy.
|
|
Node destructor. Note, is protected so that Nodes cannot be deleted other than by being dereferenced and the reference count being zero (see osg::Referenced), preventing the deletion of nodes which are still in use. This also means that Node's cannot be created on stack i.e Node node will not compile, forcing all nodes to be created on the heap i.e Node* node = new Node(). |
|
Visitor Pattern : calls the apply method of a NodeVisitor with this node's type.
Reimplemented in osgParticle::Emitter, osgParticle::ParticleProcessor, and osgParticle::Program. |
|
Add a description string to the node.
|
|
|
|
Traverse upwards : calls parents' accept method with NodeVisitor.
|
|
return the name of the node's class type.
Implements osg::Object. Reimplemented in osgParticle::Emitter, osgParticle::ParticleProcessor, and osgParticle::Program. |
|
return a clone of a node, with Object* return type.
Implements osg::Object. |
|
clone the an object of the same type as the node.
Implements osg::Object. |
|
Compute the bounding sphere around Node's geometry or children. This method is automatically called by getBound() when the bounding sphere has been marked dirty via dirtyBound(). Reimplemented in osg::Billboard, osg::ClipNode, osg::Geode, osg::Group, osg::Impostor, osg::LightSource, osg::OccluderNode, osg::Transform, osgParticle::ParticleProcessor, and osgParticle::ParticleSystemUpdater. |
|
return true if this node is an OccluderNode or the subgraph below this node are OccluderNodes.
|
|
Mark this node's bounding sphere dirty. Forcing it to be computed on the next call to getBound(). |
|
Get const app node callback, called during app traversal.
|
|
Get app node callback, called during app traversal.
|
|
get the bounding sphere of node. Using lazy evaluation computes the bounding sphere if it is 'dirty'. |
|
Get const app node callback, called during app traversal.
|
|
Get app node callback, called during app traversal.
|
|
Get the view frustum/small feature _cullingActive flag for this node. Used a guide to the cull traversal. |
|
Get a single description of the node.
|
|
Get a single const description of the const node.
|
|
Get the description list of the const node.
|
|
Get the description list of the const node.
|
|
Get the name of node.
|
|
Get the node Mask. Note, node mask is will be replaced by TraversalMask. |
|
Get the number of Children of this node which require App traversal, since they have an AppCallback attached to them or their children.
|
|
Get the number of Children of this node which have culling disabled.
|
|
Get the number of Children of this node which are or have OccluderNode's.
|
|
Get the number of descriptions of the node.
|
|
Get the number of parents of node.
|
|
Get a single const parent of node.
|
|
|
|
Get the a copy of parent list of node. A copy is returned to prevent modification of the parent list. |
|
Get the parent list of node.
|
|
return the node's const StateSet. returns NULL if a stateset is not attached. |
|
return the node's StateSet. returns NULL if a stateset is not attached. |
|
return the node's StateSet, if one does not already exist create it set the node and return the newly created StateSet. This ensures that a valid StateSet is always returned and can be used directly. |
|
Return true if this node can be culled by view frustum, occlusion or small feature culling during the cull traversal. note, return true only if no children have culling disabled, and the local _cullingActive flag is true. |
|
return true if this and obj are of the same kind of object.
Reimplemented from osg::Object. |
|
return the name of the node's library.
Implements osg::Object. Reimplemented in osgParticle::Emitter, and osgParticle::Program. |
|
|
|
Set app node callback, called during app traversal.
|
|
Set cull node callback, called during cull traversal.
|
|
Set the view frustum/small feature culling of this node to be active or inactive. The default value to true for _cullingActive. Used a guide to the cull traversal. |
|
Set the name of node using a C style string.
|
|
Set the name of node using C++ style string.
|
|
Set the node mask. Note, node mask is will be replaced by TraversalMask. |
|
|
|
|
|
|
|
set the node's StateSet.
|
|
Traverse downwards : calls children's accept method with NodeVisitor.
Reimplemented in osg::DOFTransform, osg::Group, osg::LOD, osg::Sequence, osg::Switch, osgParticle::ParticleProcessor, and osgParticle::ParticleSystemUpdater. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|