OpenSceneGraph 3.6.5
|
Base class for all internal nodes in the scene graph. More...
#include <Node>
Classes | |
struct | ComputeBoundingSphereCallback |
Callback to allow users to override the default computation of bounding volume. More... |
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 |
This is a set of bits (flags) that represent the Node. | |
typedef std::vector< std::string > | DescriptionList |
A vector of std::string's which are used to describe the object. | |
Public Types inherited from osg::Object | |
enum | DataVariance { DYNAMIC , STATIC , UNSPECIFIED } |
Public Member Functions | |
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 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 Node * | asNode () |
Convert 'this' into a Node pointer if Object is a Node, otherwise return 0. | |
virtual const Node * | asNode () const |
convert 'const this' into a const Node pointer if Object is a Node, otherwise return 0. | |
virtual Drawable * | asDrawable () |
convert 'this' into a Drawable pointer if Node is a Drawable, otherwise return 0. | |
virtual const Drawable * | asDrawable () const |
convert 'const this' into a const Drawable pointer if Node is a Drawable, otherwise return 0. | |
virtual Geometry * | asGeometry () |
convert 'this' into a Geometry pointer if Node is a Geometry, otherwise return 0. | |
virtual const Geometry * | asGeometry () const |
convert 'const this' into a const Geometry pointer if Node is a Geometry, otherwise return 0. | |
virtual Group * | asGroup () |
convert 'this' into a Group pointer if Node is a Group, otherwise return 0. | |
virtual const Group * | asGroup () const |
convert 'const this' into a const Group pointer if Node is a Group, otherwise return 0. | |
virtual Transform * | asTransform () |
Convert 'this' into a Transform pointer if Node is a Transform, otherwise return 0. | |
virtual const Transform * | asTransform () const |
convert 'const this' into a const Transform pointer if Node is a Transform, otherwise return 0. | |
virtual Switch * | asSwitch () |
Convert 'this' into a Switch pointer if Node is a Switch, otherwise return 0. | |
virtual const Switch * | asSwitch () const |
convert 'const this' into a const Switch pointer if Node is a Switch, otherwise return 0. | |
virtual Geode * | asGeode () |
Convert 'this' into a Geode pointer if Node is a Geode, otherwise return 0. | |
virtual const Geode * | asGeode () const |
convert 'const this' into a const Geode pointer if Node is a Geode, otherwise return 0. | |
virtual osgTerrain::Terrain * | asTerrain () |
Convert 'this' into a Transform pointer if Node is a Terrain, otherwise return 0. | |
virtual const osgTerrain::Terrain * | asTerrain () const |
convert 'const this' into a const Terrain pointer if Node is a Terrain, otherwise return 0. | |
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. | |
const ParentList & | getParents () const |
Get the parent list of node. | |
ParentList | getParents () |
Get the a copy of parent list of node. | |
Group * | getParent (unsigned int i) |
const Group * | getParent (unsigned int i) const |
Get a single const parent of node. | |
unsigned int | getNumParents () const |
Get the number of parents of node. | |
NodePathList | getParentalNodePaths (osg::Node *haltTraversalAtNode=0) const |
Get the list of node paths parent paths. | |
MatrixList | getWorldMatrices (const osg::Node *haltTraversalAtNode=0) const |
Get the list of matrices that transform this node from local coordinates to world coordinates. | |
void | setUpdateCallback (Callback *nc) |
Set update node callback, called during update traversal. | |
template<class T> | |
void | setUpdateCallback (const ref_ptr< T > &nc) |
Callback * | getUpdateCallback () |
Get update node callback, called during update traversal. | |
const Callback * | getUpdateCallback () const |
Get const update node callback, called during update traversal. | |
void | addUpdateCallback (Callback *nc) |
Convenience method that sets the update callback of the node if it doesn't exist, or nest it into the existing one. | |
template<class T> | |
void | addUpdateCallback (const ref_ptr< T > &nc) |
void | removeUpdateCallback (Callback *nc) |
Convenience method that removes a given callback from a node, even if that callback is nested. | |
template<class T> | |
void | removeUpdateCallback (const ref_ptr< T > &nc) |
unsigned int | getNumChildrenRequiringUpdateTraversal () const |
Get the number of Children of this node which require Update traversal, since they have an Update Callback attached to them or their children. | |
void | setEventCallback (Callback *nc) |
Set event node callback, called during event traversal. | |
template<class T> | |
void | setEventCallback (const ref_ptr< T > &nc) |
Callback * | getEventCallback () |
Get event node callback, called during event traversal. | |
const Callback * | getEventCallback () const |
Get const event node callback, called during event traversal. | |
void | addEventCallback (Callback *nc) |
Convenience method that sets the event callback of the node if it doesn't exist, or nest it into the existing one. | |
template<class T> | |
void | addEventCallback (const ref_ptr< T > &nc) |
void | removeEventCallback (Callback *nc) |
Convenience method that removes a given callback from a node, even if that callback is nested. | |
template<class T> | |
void | removeEventCallback (const ref_ptr< T > &nc) |
unsigned int | getNumChildrenRequiringEventTraversal () const |
Get the number of Children of this node which require Event traversal, since they have an Event Callback attached to them or their children. | |
void | setCullCallback (Callback *nc) |
Set cull node callback, called during cull traversal. | |
template<class T> | |
void | setCullCallback (const ref_ptr< T > &nc) |
Callback * | getCullCallback () |
Get cull node callback, called during cull traversal. | |
const Callback * | getCullCallback () const |
Get const cull node callback, called during cull traversal. | |
void | addCullCallback (Callback *nc) |
Convenience method that sets the cull callback of the node if it doesn't exist, or nest it into the existing one. | |
template<class T> | |
void | addCullCallback (const ref_ptr< T > &nc) |
void | removeCullCallback (Callback *nc) |
Convenience method that removes a given callback from a node, even if that callback is nested. | |
template<class T> | |
void | removeCullCallback (const ref_ptr< T > &nc) |
void | setCullingActive (bool active) |
Set the view frustum/small feature culling of this node to be active or inactive. | |
bool | getCullingActive () const |
Get the view frustum/small feature _cullingActive flag for this node. | |
unsigned int | getNumChildrenWithCullingDisabled () const |
Get the number of Children of this node which have culling disabled. | |
bool | isCullingActive () const |
Return true if this node can be culled by view frustum, occlusion or small feature culling during the cull traversal. | |
unsigned int | getNumChildrenWithOccluderNodes () const |
Get the number of Children of this node which are or have OccluderNode's. | |
bool | containsOccluderNodes () const |
return true if this node is an OccluderNode or the subgraph below this node are OccluderNodes. | |
void | setNodeMask (NodeMask nm) |
Set the node mask. | |
NodeMask | getNodeMask () const |
Get the node Mask. | |
void | setStateSet (osg::StateSet *stateset) |
Set the node's StateSet. | |
template<class T> | |
void | setStateSet (const osg::ref_ptr< T > &stateset) |
osg::StateSet * | getOrCreateStateSet () |
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. | |
void | setDescriptions (const DescriptionList &descriptions) |
Set the list of string descriptions. | |
DescriptionList & | getDescriptions () |
Get the description list of the node. | |
const DescriptionList & | getDescriptions () const |
Get the const description list of the const node. | |
const std::string & | getDescription (unsigned int i) const |
Get a single const description of the const node. | |
std::string & | getDescription (unsigned int i) |
Get a single description of the node. | |
unsigned 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 | setInitialBound (const osg::BoundingSphere &bsphere) |
Set the initial bounding volume to use when computing the overall bounding volume. | |
const BoundingSphere & | getInitialBound () const |
Set the initial bounding volume to use when computing the overall bounding volume. | |
void | dirtyBound () |
Mark this node's bounding sphere dirty. | |
const BoundingSphere & | getBound () const |
virtual BoundingSphere | computeBound () const |
Compute the bounding sphere around Node's geometry or children. | |
void | setComputeBoundingSphereCallback (ComputeBoundingSphereCallback *callback) |
Set the compute bound callback to override the default computeBound. | |
template<class T> | |
void | setComputeBoundingSphereCallback (const ref_ptr< T > &callback) |
ComputeBoundingSphereCallback * | getComputeBoundingSphereCallback () |
Get the compute bound callback. | |
const ComputeBoundingSphereCallback * | getComputeBoundingSphereCallback () const |
Get the const compute bound callback. | |
virtual void | setThreadSafeRefUnref (bool threadSafe) |
Set whether to use a mutex to ensure ref() and unref() are thread safe. | |
virtual void | resizeGLObjectBuffers (unsigned int) |
Resize any per context GLObject buffers to specified size. | |
virtual void | releaseGLObjects (osg::State *=0) const |
If State is non-zero, this function releases any associated OpenGL objects for the specified graphics context. | |
Public Member Functions inherited from osg::Object | |
Object () | |
Construct an object. | |
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. | |
std::string | getCompoundClassName () const |
return the compound class name that combines the library name and class name. | |
virtual NodeVisitor * | asNodeVisitor () |
Convert 'this' into a NodeVisitor pointer if Object is a NodeVisitor, otherwise return 0. | |
virtual const NodeVisitor * | asNodeVisitor () const |
convert 'const this' into a const NodeVisitor pointer if Object is a NodeVisitor, otherwise return 0. | |
virtual StateSet * | asStateSet () |
Convert 'this' into a StateSet pointer if Object is a StateSet, otherwise return 0. | |
virtual const StateSet * | asStateSet () const |
convert 'const this' into a const StateSet pointer if Object is a StateSet, otherwise return 0. | |
virtual StateAttribute * | asStateAttribute () |
Convert 'this' into a StateAttribute pointer if Object is a StateAttribute, otherwise return 0. | |
virtual const StateAttribute * | asStateAttribute () const |
convert 'const this' into a const StateAttribute pointer if Object is a StateAttribute, otherwise return 0. | |
virtual Uniform * | asUniform () |
Convert 'this' into a Uniform pointer if Object is a Uniform, otherwise return 0. | |
virtual const Uniform * | asUniform () const |
convert 'const this' into a const Uniform pointer if Object is a Uniform, otherwise return 0. | |
virtual Camera * | asCamera () |
Convert 'this' into a Camera pointer if Node is a Camera, otherwise return 0. | |
virtual const Camera * | asCamera () const |
convert 'const this' into a const Camera pointer if Node is a Camera, otherwise return 0. | |
virtual Callback * | asCallback () |
Convert 'this' into a Callback pointer if Object is a Callback, otherwise return 0. | |
virtual const Callback * | asCallback () const |
convert 'const this' into a const Callback pointer if Object is a Callback, otherwise return 0. | |
virtual CallbackObject * | asCallbackObject () |
Convert 'this' into a CallbackObject pointer if Object is a CallbackObject, otherwise return 0. | |
virtual const CallbackObject * | asCallbackObject () const |
convert 'const this' into a const CallbackObject pointer if Object is a CallbackObject, otherwise return 0. | |
virtual UserDataContainer * | asUserDataContainer () |
Convert 'this' into a UserDataContainer pointer if Object is a UserDataContainer, otherwise return 0. | |
virtual const UserDataContainer * | asUserDataContainer () const |
convert 'const this' into a const UserDataContainer pointer if Object is a UserDataContainer, otherwise return 0. | |
virtual ValueObject * | asValueObject () |
Convert 'this' into a ValueObject pointer if Object is a ValueObject, otherwise return 0. | |
virtual const ValueObject * | asValueObject () const |
Convert 'this' into a ValueObject pointer if Object is a ValueObject, otherwise return 0. | |
virtual Image * | asImage () |
Convert 'this' into a Image pointer if Object is a Image, otherwise return 0. | |
virtual const Image * | asImage () const |
Convert 'this' into a Image pointer if Object is a Image, otherwise return 0. | |
virtual void | setName (const std::string &name) |
Set the name of object using C++ style string. | |
void | setName (const char *name) |
Set the name of object using a C style string. | |
const std::string & | getName () const |
Get the name of object. | |
void | setDataVariance (DataVariance dv) |
Set the data variance of this object. | |
DataVariance | getDataVariance () const |
Get the data variance of this object. | |
virtual void | computeDataVariance () |
Compute the DataVariance based on an assessment of callback etc. | |
void | setUserDataContainer (osg::UserDataContainer *udc) |
set the UserDataContainer object. | |
template<class T> | |
void | setUserDataContainer (const ref_ptr< T > &udc) |
osg::UserDataContainer * | getUserDataContainer () |
get the UserDataContainer attached to this object. | |
const osg::UserDataContainer * | getUserDataContainer () const |
get the const UserDataContainer attached to this object. | |
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. | |
virtual void | setUserData (Referenced *obj) |
Set user data, data must be subclassed from Referenced to allow automatic memory handling. | |
template<class T> | |
void | setUserData (const ref_ptr< T > &ud) |
virtual Referenced * | getUserData () |
Get user data. | |
virtual const Referenced * | getUserData () const |
Get const user data. | |
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. | |
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. | |
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 | |
Public Member Functions inherited from osg::Referenced | |
Referenced () | |
Referenced (bool threadSafeRefUnref) | |
Deprecated, Referenced is now always uses thread safe ref/unref, use default Referenced() constructor instead. | |
Referenced (const Referenced &) | |
Referenced & | operator= (const Referenced &) |
bool | getThreadSafeRefUnref () const |
Get whether a mutex is used to ensure ref() and unref() are thread safe. | |
OpenThreads::Mutex * | getRefMutex () const |
Get the mutex used to ensure thread safety of ref()/unref(). | |
int | ref () const |
Increment the reference count by one, indicating that this object has another pointer which is referencing it. | |
int | unref () const |
Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. | |
int | unref_nodelete () const |
Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. | |
int | referenceCount () const |
Return the number of pointers currently referencing this object. | |
ObserverSet * | getObserverSet () const |
Get the ObserverSet if one is attached, otherwise return NULL. | |
ObserverSet * | getOrCreateObserverSet () const |
Get the ObserverSet if one is attached, otherwise create an ObserverSet, attach it, then return this newly created ObserverSet. | |
void | addObserver (Observer *observer) const |
Add a Observer that is observing this object, notify the Observer when this object gets deleted. | |
void | removeObserver (Observer *observer) const |
Remove Observer that is observing this object. |
Protected Member Functions | |
virtual | ~Node () |
Node destructor. | |
void | addParent (osg::Group *parent) |
void | removeParent (osg::Group *parent) |
void | setNumChildrenRequiringUpdateTraversal (unsigned int num) |
void | setNumChildrenRequiringEventTraversal (unsigned int num) |
void | setNumChildrenWithCullingDisabled (unsigned int num) |
void | setNumChildrenWithOccluderNodes (unsigned int num) |
Protected Member Functions inherited from osg::Object | |
virtual | ~Object () |
Object destructor. | |
Protected Member Functions inherited from osg::Referenced | |
virtual | ~Referenced () |
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const |
void | deleteUsingDeleteHandler () const |
Protected Attributes | |
BoundingSphere | _initialBound |
ref_ptr< ComputeBoundingSphereCallback > | _computeBoundCallback |
BoundingSphere | _boundingSphere |
bool | _boundingSphereComputed |
ParentList | _parents |
ref_ptr< Callback > | _updateCallback |
unsigned int | _numChildrenRequiringUpdateTraversal |
ref_ptr< Callback > | _eventCallback |
unsigned int | _numChildrenRequiringEventTraversal |
ref_ptr< Callback > | _cullCallback |
bool | _cullingActive |
unsigned int | _numChildrenWithCullingDisabled |
unsigned int | _numChildrenWithOccluderNodes |
NodeMask | _nodeMask |
ref_ptr< StateSet > | _stateset |
Protected Attributes inherited from osg::Object | |
std::string | _name |
DataVariance | _dataVariance |
osg::UserDataContainer * | _userDataContainer |
Protected Attributes inherited from osg::Referenced | |
OpenThreads::AtomicPtr | _observerSet |
OpenThreads::Atomic | _refCount |
Friends | |
class | osg::Group |
class | osg::Drawable |
class | osg::StateSet |
Additional Inherited Members | |
Static Public Member Functions inherited from osg::Referenced | |
static OpenThreads::Mutex * | getGlobalReferencedMutex () |
Get the optional global Referenced mutex, this can be shared between all osg::Referenced. | |
static void | setDeleteHandler (DeleteHandler *handler) |
Set a DeleteHandler to which deletion of all referenced counted objects will be delegated. | |
static DeleteHandler * | getDeleteHandler () |
Get a DeleteHandler. |
Base class for all internal nodes in the scene graph.
Provides interface for most common node operations (Composite Pattern).
typedef std::vector<std::string> osg::Node::DescriptionList |
A vector of std::string's which are used to describe the object.
typedef unsigned int osg::Node::NodeMask |
This is a set of bits (flags) that represent the Node.
The default value is 0xffffffff (all bits set).
The most common use of these is during traversal of the scene graph. For instance, when traversing the scene graph the osg::NodeVisitor does a bitwise AND of its TraversalMask with the Node's NodeMask to determine if the Node should be processed/traversed.
For example, if a Node has a NodeMask value of 0x02 (only 2nd bit set) and the osg::Camera has a CullMask of 0x4 (2nd bit not set) then during cull traversal, which takes it's TraversalMask from the Camera's CullMask, the node and any children would be ignored and thereby treated as "culled" and thus not rendered. Conversely, if the osg::Camera CullMask were 0x3 (2nd bit set) then the node would be processed and child Nodes would be examined.
typedef std::vector<Group*> osg::Node::ParentList |
A vector of osg::Group pointers which is used to store the parent(s) of node.
osg::Node::Node | ( | ) |
Construct a node.
Initialize the parent list to empty, node name to "" and bounding sphere dirty flag to true.
Referenced by osg::Group::addChild(), asNode(), asNode(), clone(), cloneType(), osg::Group::containsNode(), osg::Group::getChild(), osg::Group::getChild(), osg::Group::getChildIndex(), osg::Group::insertChild(), isSameKindAs(), Node(), osg::Group::removeChild(), osg::Group::replaceChild(), and osg::Group::setChild().
osg::Node::Node | ( | const Node & | , |
const CopyOp & | copyop = CopyOp::SHALLOW_COPY ) |
Copy constructor using CopyOp to manage deep vs shallow copy.
References Node(), and osg::CopyOp::SHALLOW_COPY.
|
protectedvirtual |
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 Nodes 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().
|
virtual |
Visitor Pattern : calls the apply method of a NodeVisitor with this node's type.
Reimplemented in osgParticle::Emitter, osgParticle::ParticleEffect, osgParticle::ParticleProcessor, osgParticle::PrecipitationEffect, and osgParticle::Program.
Referenced by osgDB::Registry::_buildKdTreeIfRequired(), osg::CollectOccludersVisitor::handle_cull_callbacks_and_accept(), osgUtil::CullVisitor::handle_cull_callbacks_and_accept(), osg::NodeAcceptOp::operator()(), and osgUtil::optimizeMesh().
|
inline |
Convenience method that sets the cull callback of the node if it doesn't exist, or nest it into the existing one.
References _cullCallback, NULL, and setCullCallback().
|
inline |
References addCullCallback(), and osg::ref_ptr< T >::get().
Referenced by addCullCallback().
void osg::Node::addDescription | ( | const std::string & | desc | ) |
Add a description string to the node.
|
inline |
Convenience method that sets the event callback of the node if it doesn't exist, or nest it into the existing one.
References _eventCallback, NULL, and setEventCallback().
|
inline |
References addEventCallback(), and osg::ref_ptr< T >::get().
Referenced by addEventCallback().
|
protected |
|
inline |
Convenience method that sets the update callback of the node if it doesn't exist, or nest it into the existing one.
References _updateCallback, NULL, and setUpdateCallback().
|
inline |
References addUpdateCallback(), and osg::ref_ptr< T >::get().
Referenced by addUpdateCallback().
|
virtual |
Traverse upwards : calls parents' accept method with NodeVisitor.
Referenced by osg::NodeVisitor::traverse().
|
inlinevirtual |
convert 'this' into a Drawable pointer if Node is a Drawable, otherwise return 0.
Equivalent to dynamic_cast<Group*>(this).
Reimplemented from osg::Object.
Reimplemented in osg::Drawable.
References osg::Drawable.
|
inlinevirtual |
convert 'const this' into a const Drawable pointer if Node is a Drawable, otherwise return 0.
Equivalent to dynamic_cast<const Group*>(this).
Reimplemented from osg::Object.
Reimplemented in osg::Drawable.
References osg::Drawable.
|
inlinevirtual |
Convert 'this' into a Geode pointer if Node is a Geode, otherwise return 0.
Equivalent to dynamic_cast<Geode*>(this).
Reimplemented in osg::Geode.
|
inlinevirtual |
convert 'const this' into a const Geode pointer if Node is a Geode, otherwise return 0.
Equivalent to dynamic_cast<const Geode*>(this).
Reimplemented in osg::Geode.
|
inlinevirtual |
convert 'this' into a Geometry pointer if Node is a Geometry, otherwise return 0.
Equivalent to dynamic_cast<Group*>(this).
Reimplemented in osg::Geometry.
|
inlinevirtual |
convert 'const this' into a const Geometry pointer if Node is a Geometry, otherwise return 0.
Equivalent to dynamic_cast<const Group*>(this).
Reimplemented in osg::Geometry.
|
inlinevirtual |
convert 'this' into a Group pointer if Node is a Group, otherwise return 0.
Equivalent to dynamic_cast<Group*>(this).
Reimplemented in osg::Group.
References osg::Group.
|
inlinevirtual |
convert 'const this' into a const Group pointer if Node is a Group, otherwise return 0.
Equivalent to dynamic_cast<const Group*>(this).
Reimplemented in osg::Group.
References osg::Group.
|
inlinevirtual |
Convert 'this' into a Node pointer if Object is a Node, otherwise return 0.
Equivalent to dynamic_cast<Node*>(this).
Reimplemented from osg::Object.
References Node().
Referenced by osgGA::EventHandler::run().
|
inlinevirtual |
convert 'const this' into a const Node pointer if Object is a Node, otherwise return 0.
Equivalent to dynamic_cast<const Node*>(this).
Reimplemented from osg::Object.
References Node().
|
inlinevirtual |
Convert 'this' into a Switch pointer if Node is a Switch, otherwise return 0.
Equivalent to dynamic_cast<Switch*>(this).
Reimplemented in osg::Switch.
|
inlinevirtual |
convert 'const this' into a const Switch pointer if Node is a Switch, otherwise return 0.
Equivalent to dynamic_cast<const Switch*>(this).
Reimplemented in osg::Switch.
|
inlinevirtual |
Convert 'this' into a Transform pointer if Node is a Terrain, otherwise return 0.
Equivalent to dynamic_cast<Terrrain*>(this).
Reimplemented in osgTerrain::Terrain.
|
inlinevirtual |
convert 'const this' into a const Terrain pointer if Node is a Terrain, otherwise return 0.
Equivalent to dynamic_cast<const Terrain*>(this).
Reimplemented in osgTerrain::Terrain.
|
inlinevirtual |
Convert 'this' into a Transform pointer if Node is a Transform, otherwise return 0.
Equivalent to dynamic_cast<Transform*>(this).
Reimplemented in osg::Transform.
|
inlinevirtual |
convert 'const this' into a const Transform pointer if Node is a Transform, otherwise return 0.
Equivalent to dynamic_cast<const Transform*>(this).
Reimplemented in osg::Transform.
|
inlinevirtual |
return the name of the node's class type.
Implements osg::Object.
Reimplemented in osg::AutoTransform, osg::DrawPixels, osg::ShapeDrawable, osgAnimation::MorphGeometry, osgFX::Effect, osgManipulator::AntiSquish, osgParticle::Emitter, osgParticle::ParticleEffect, osgParticle::ParticleProcessor, osgParticle::PrecipitationEffect, osgParticle::Program, osgSim::ImpostorSprite, osgText::Text, and osgText::TextBase.
return a clone of a node, with Object* return type.
Implements osg::Object.
Reimplemented in osg::AutoTransform, osg::DrawPixels, osg::ShapeDrawable, osgAnimation::MorphGeometry, osgManipulator::AntiSquish, osgSim::ImpostorSprite, and osgText::Text.
References Node(), and osg::Object::Object().
|
inlinevirtual |
clone an object of the same type as the node.
Implements osg::Object.
Reimplemented in osg::AutoTransform, osg::DrawPixels, osg::ShapeDrawable, osgAnimation::MorphGeometry, osgManipulator::AntiSquish, osgSim::ImpostorSprite, and osgText::Text.
References Node(), and osg::Object::Object().
|
virtual |
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::Drawable, osg::Geode, osg::Group, osg::LightSource, osg::LOD, osg::OccluderNode, osg::OcclusionQueryNode, osg::ProxyNode, osg::Switch, osg::Transform, osgGA::Widget, osgParticle::ParticleProcessor, osgParticle::ParticleSystemUpdater, osgSim::Impostor, osgSim::LightPointNode, osgSim::SphereSegment, osgTerrain::TerrainTile, osgUI::Widget, and osgVolume::VolumeTile.
Referenced by getBound().
bool osg::Node::containsOccluderNodes | ( | ) | const |
return true if this node is an OccluderNode or the subgraph below this node are OccluderNodes.
void osg::Node::dirtyBound | ( | ) |
Mark this node's bounding sphere dirty.
Forcing it to be computed on the next call to getBound().
Referenced by osg::MatrixTransform::postMult(), osg::MatrixTransform::preMult(), osg::CameraView::setAttitude(), osg::PositionAttitudeTransform::setAttitude(), osgSim::DOFTransform::setCurrentHPR(), osgSim::DOFTransform::setCurrentScale(), osgSim::DOFTransform::setCurrentTranslate(), osg::Drawable::setInitialBound(), setInitialBound(), osgSim::DOFTransform::setInversePutMatrix(), osg::MatrixTransform::setMatrix(), osg::AutoTransform::setPivotPoint(), osg::PositionAttitudeTransform::setPivotPoint(), osg::AutoTransform::setPosition(), osg::CameraView::setPosition(), osg::PositionAttitudeTransform::setPosition(), osgSim::DOFTransform::setPutMatrix(), osg::AutoTransform::setRotation(), osg::PositionAttitudeTransform::setScale(), osg::Camera::setViewMatrix(), and osg::Camera::setViewMatrix().
|
inline |
References _boundingSphere, _boundingSphereComputed, _computeBoundCallback, _initialBound, and computeBound().
Referenced by osg::Geode::getBoundingBox(), osg::LOD::getCenter(), osg::ProxyNode::getCenter(), osg::CullStack::isCulled(), isCullingActive(), and osgSim::Impostor::setImpostorThresholdToBound().
|
inline |
Get the compute bound callback.
References _computeBoundCallback.
|
inline |
Get the const compute bound callback.
References _computeBoundCallback.
|
inline |
Get cull node callback, called during cull traversal.
References _cullCallback.
Referenced by osgUtil::CullVisitor::handle_cull_callbacks_and_accept(), osgUtil::CullVisitor::handle_cull_callbacks_and_traverse(), osgUtil::Optimizer::isOperationPermissibleForObjectImplementation(), and osgUtil::Optimizer::isOperationPermissibleForObjectImplementation().
|
inline |
Get const cull node callback, called during cull traversal.
References _cullCallback.
|
inline |
Get the view frustum/small feature _cullingActive flag for this node.
Used as a guide to the cull traversal.
References _cullingActive.
std::string & osg::Node::getDescription | ( | unsigned int | i | ) |
Get a single description of the node.
const std::string & osg::Node::getDescription | ( | unsigned int | i | ) | const |
Get a single const description of the const node.
DescriptionList & osg::Node::getDescriptions | ( | ) |
Get the description list of the node.
const DescriptionList & osg::Node::getDescriptions | ( | ) | const |
Get the const description list of the const node.
|
inline |
Get event node callback, called during event traversal.
References _eventCallback.
Referenced by osgGA::EventVisitor::apply(), osgGA::EventVisitor::handle_callbacks_and_traverse(), osgUtil::Optimizer::isOperationPermissibleForObjectImplementation(), and osgUtil::Optimizer::isOperationPermissibleForObjectImplementation().
|
inline |
Get const event node callback, called during event traversal.
References _eventCallback.
|
inline |
Set the initial bounding volume to use when computing the overall bounding volume.
References _initialBound.
|
inline |
Get the node Mask.
References _nodeMask.
Referenced by osgUtil::Optimizer::isOperationPermissibleForObjectImplementation(), and osg::NodeVisitor::validNodeMask().
|
inline |
Get the number of Children of this node which require Event traversal, since they have an Event Callback attached to them or their children.
References _numChildrenRequiringEventTraversal.
Referenced by osgGA::EventVisitor::handle_callbacks_and_traverse().
|
inline |
Get the number of Children of this node which require Update traversal, since they have an Update Callback attached to them or their children.
References _numChildrenRequiringUpdateTraversal.
Referenced by osgUtil::UpdateVisitor::handle_callbacks_and_traverse().
|
inline |
Get the number of Children of this node which have culling disabled.
References _numChildrenWithCullingDisabled.
|
inline |
Get the number of Children of this node which are or have OccluderNode's.
References _numChildrenWithOccluderNodes.
Referenced by osg::CollectOccludersVisitor::handle_cull_callbacks_and_accept(), and osg::CollectOccludersVisitor::handle_cull_callbacks_and_traverse().
unsigned int osg::Node::getNumDescriptions | ( | ) | const |
Get the number of descriptions of the node.
Referenced by osgUtil::Optimizer::isOperationPermissibleForObjectImplementation().
|
inline |
osg::StateSet * osg::Node::getOrCreateStateSet | ( | ) |
|
inline |
References _parents, and osg::Group.
|
inline |
Get a single const parent of node.
i | index of the parent to get. |
References _parents, and osg::Group.
NodePathList osg::Node::getParentalNodePaths | ( | osg::Node * | haltTraversalAtNode = 0 | ) | const |
Get the list of node paths parent paths.
The optional Node* haltTraversalAtNode allows the user to prevent traversal beyond a specified node.
|
inline |
Get the a copy of parent list of node.
A copy is returned to prevent modification of the parent list.
References _parents.
|
inline |
Get the parent list of node.
References _parents.
Referenced by osgAnimation::UpdateRigGeometry::update().
|
inline |
Return the node's StateSet.
returns NULL if a stateset is not attached.
References _stateset.
Referenced by osgWidget::Window::_scissor(), osgWidget::Widget::_texture(), osgWidget::Widget::_texture(), osgGA::EventVisitor::apply(), osgUtil::UpdateVisitor::apply(), osgGA::EventVisitor::handle_callbacks_and_traverse(), osgUtil::UpdateVisitor::handle_callbacks_and_traverse(), and osgUtil::Optimizer::isOperationPermissibleForObjectImplementation().
|
inline |
|
inline |
Get update node callback, called during update traversal.
References _updateCallback.
Referenced by osgUtil::UpdateVisitor::apply(), osgUtil::UpdateVisitor::handle_callbacks_and_traverse(), osgUtil::Optimizer::isOperationPermissibleForObjectImplementation(), and osgUtil::Optimizer::isOperationPermissibleForObjectImplementation().
|
inline |
Get const update node callback, called during update traversal.
References _updateCallback.
MatrixList osg::Node::getWorldMatrices | ( | const osg::Node * | haltTraversalAtNode = 0 | ) | const |
Get the list of matrices that transform this node from local coordinates to world coordinates.
The optional Node* haltTraversalAtNode allows the user to prevent traversal beyond a specified node.
|
inline |
Return true if this node can be culled by view frustum, occlusion or small feature culling during the cull traversal.
Note, returns true only if no children have culling disabled, and the local _cullingActive flag is true.
References _cullingActive, _numChildrenWithCullingDisabled, and getBound().
Referenced by osg::CullStack::isCulled().
|
inlinevirtual |
return true if this and obj are of the same kind of object.
Reimplemented from osg::Object.
Reimplemented in osg::AutoTransform, osg::DrawPixels, osg::ShapeDrawable, osgAnimation::MorphGeometry, osgFX::Effect, osgManipulator::AntiSquish, osgParticle::Emitter, osgParticle::ParticleEffect, osgParticle::ParticleProcessor, osgParticle::PrecipitationEffect, osgParticle::Program, osgSim::ImpostorSprite, osgText::Text, and osgText::TextBase.
References Node(), NULL, and osg::Object::Object().
|
inlinevirtual |
return the name of the node's library.
Implements osg::Object.
Reimplemented in osg::AutoTransform, osg::DrawPixels, osg::ShapeDrawable, osgAnimation::MorphGeometry, osgFX::Effect, osgManipulator::AntiSquish, osgParticle::Emitter, osgParticle::ParticleEffect, osgParticle::ParticleProcessor, osgParticle::PrecipitationEffect, osgParticle::Program, osgSim::ImpostorSprite, osgText::Text, and osgText::TextBase.
|
virtual |
If State is non-zero, this function releases any associated OpenGL objects for the specified graphics context.
Otherwise, releases OpenGL objects for all graphics contexts.
Reimplemented from osg::Object.
Reimplemented in osg::Camera, osg::Drawable, osg::Geometry, osg::Group, osg::OcclusionQueryNode, osg::QueryGeometry, osgFX::Effect, osgParticle::ParticleSystem, osgParticle::PrecipitationEffect::PrecipitationDrawable, osgParticle::PrecipitationEffect, osgShadow::ShadowedScene, osgSim::OverlayNode, osgSim::SphereSegment, osgTerrain::HeightFieldDrawable, osgTerrain::SharedGeometry, osgTerrain::TerrainTile, osgText::Text3D, osgText::Text, osgText::TextBase, and osgUI::Widget.
|
inline |
Convenience method that removes a given callback from a node, even if that callback is nested.
There is no error return in case the given callback is not found.
References _cullCallback, osg::ref_ptr< T >::get(), osg::Callback::getNestedCallback(), NULL, setCullCallback(), and osg::Callback::setNestedCallback().
|
inline |
References osg::ref_ptr< T >::get(), and removeCullCallback().
Referenced by removeCullCallback().
|
inline |
Convenience method that removes a given callback from a node, even if that callback is nested.
There is no error return in case the given callback is not found.
References _eventCallback, osg::ref_ptr< T >::get(), osg::Callback::getNestedCallback(), NULL, setEventCallback(), and osg::Callback::setNestedCallback().
|
inline |
References osg::ref_ptr< T >::get(), and removeEventCallback().
Referenced by removeEventCallback().
|
protected |
|
inline |
Convenience method that removes a given callback from a node, even if that callback is nested.
There is no error return in case the given callback is not found.
References _updateCallback, osg::ref_ptr< T >::get(), osg::Callback::getNestedCallback(), NULL, osg::Callback::setNestedCallback(), and setUpdateCallback().
|
inline |
References osg::ref_ptr< T >::get(), and removeUpdateCallback().
Referenced by removeUpdateCallback().
|
virtual |
Resize any per context GLObject buffers to specified size.
Reimplemented from osg::Object.
Reimplemented in osg::Camera, osg::Drawable, osg::Geometry, osg::Group, osgFX::Effect, osgParticle::ParticleSystem, osgParticle::PrecipitationEffect::PrecipitationDrawable, osgParticle::PrecipitationEffect, osgShadow::ShadowedScene, osgSim::OverlayNode, osgSim::SphereSegment, osgTerrain::HeightFieldDrawable, osgTerrain::SharedGeometry, osgText::Text3D, osgText::Text, osgText::TextBase, and osgUI::Widget.
|
inline |
Set the compute bound callback to override the default computeBound.
References _computeBoundCallback.
|
inline |
References osg::ref_ptr< T >::get(), and setComputeBoundingSphereCallback().
Referenced by setComputeBoundingSphereCallback().
|
inline |
Set cull node callback, called during cull traversal.
References _cullCallback.
Referenced by addCullCallback(), and removeCullCallback().
|
inline |
References osg::ref_ptr< T >::get(), and setCullCallback().
Referenced by setCullCallback().
void osg::Node::setCullingActive | ( | bool | active | ) |
Set the view frustum/small feature culling of this node to be active or inactive.
The default value is true for _cullingActive. Used as a guide to the cull traversal.
void osg::Node::setDescriptions | ( | const DescriptionList & | descriptions | ) |
Set the list of string descriptions.
void osg::Node::setEventCallback | ( | Callback * | nc | ) |
Set event node callback, called during event traversal.
Referenced by addEventCallback(), and removeEventCallback().
|
inline |
References osg::ref_ptr< T >::get(), and setEventCallback().
Referenced by setEventCallback().
|
inline |
Set the initial bounding volume to use when computing the overall bounding volume.
References _initialBound, and dirtyBound().
|
protected |
|
protected |
|
protected |
|
protected |
|
inline |
References osg::ref_ptr< T >::get(), and setStateSet().
Referenced by setStateSet().
void osg::Node::setStateSet | ( | osg::StateSet * | stateset | ) |
Set the node's StateSet.
|
virtual |
Set whether to use a mutex to ensure ref() and unref() are thread safe.
Reimplemented from osg::Object.
Reimplemented in osg::Drawable, osg::Group, osg::LightSource, osg::TexGenNode, and osgSim::OverlayNode.
void osg::Node::setUpdateCallback | ( | Callback * | nc | ) |
Set update node callback, called during update traversal.
Referenced by addUpdateCallback(), and removeUpdateCallback().
|
inline |
References osg::ref_ptr< T >::get(), and setUpdateCallback().
Referenced by setUpdateCallback().
|
inlinevirtual |
Traverse downwards : calls children's accept method with NodeVisitor.
Reimplemented in osg::Group, osg::LOD, osg::PagedLOD, osg::ProxyNode, osg::Sequence, osg::Switch, osgFX::Effect, osgGA::Widget, osgManipulator::Dragger, osgParticle::ParticleProcessor, osgParticle::ParticleSystemUpdater, osgParticle::PrecipitationEffect, osgPresentation::Cursor, osgPresentation::Timeout, osgShadow::ShadowedScene, osgSim::DOFTransform, osgSim::Impostor, osgSim::LightPointNode, osgSim::MultiSwitch, osgSim::OverlayNode, osgSim::SphereSegment, osgSim::VisibilityGroup, osgTerrain::Terrain, osgTerrain::TerrainTile, osgUI::Widget, osgVolume::Volume, osgVolume::VolumeScene, and osgVolume::VolumeTile.
Referenced by osg::NodeVisitor::traverse().
|
friend |
Referenced by asDrawable(), and asDrawable().
|
friend |
Referenced by asGroup(), asGroup(), getParent(), and getParent().
|
friend |
|
mutableprotected |
Referenced by osg::Drawable::getBound(), getBound(), and osg::Drawable::getBoundingBox().
|
mutableprotected |
Referenced by osg::Drawable::getBound(), getBound(), osg::Drawable::getBoundingBox(), and osg::Geode::getBoundingBox().
|
protected |
Referenced by addCullCallback(), getCullCallback(), getCullCallback(), removeCullCallback(), and setCullCallback().
|
protected |
Referenced by getCullingActive(), and isCullingActive().
Referenced by addEventCallback(), getEventCallback(), getEventCallback(), and removeEventCallback().
|
protected |
Referenced by getBound(), getInitialBound(), and setInitialBound().
|
protected |
Referenced by getNodeMask(), and setNodeMask().
|
protected |
Referenced by getNumChildrenRequiringEventTraversal().
|
protected |
Referenced by getNumChildrenRequiringUpdateTraversal().
|
protected |
Referenced by getNumChildrenWithCullingDisabled(), and isCullingActive().
|
protected |
Referenced by getNumChildrenWithOccluderNodes().
|
protected |
Referenced by getNumParents(), getParent(), getParent(), getParents(), and getParents().
Referenced by getStateSet(), and getStateSet().
Referenced by addUpdateCallback(), getUpdateCallback(), getUpdateCallback(), and removeUpdateCallback().
![]() | Generated at Wed Jul 23 2025 00:00:00 for the OpenSceneGraph by doxygen 1.14.0. |