#include <Node.h>
Inheritance diagram for nvsg::Node:
Public Member Functions | |
virtual NVSG_API const Node * | clone (void) const =0 |
Get a clone of this Node object. | |
virtual NVSG_API bool | isDataShared (void) const |
Determine whether the data of this object is shared. | |
virtual NVSG_API DataID | getDataID (void) const |
Get the DataID of the data of this object. | |
NVSG_API size_t | getNumberOfParents () const |
Returns the number of Group nodes that currently reference this node. | |
NVSG_API const Group * | getParent (size_t i) const |
Get the i-th parent of this Node. | |
NVSG_API bool | isBoundingSphereValid (void) const |
Ask if the bounding sphere of this Node is valid. | |
NVSG_API const nvmath::Sphere3f & | getBoundingSphere (void) const |
Get the bounding sphere of this Node. | |
NVSG_API void | invalidateBoundingSphere (void) const |
Invalidate the BoundingSphere. | |
virtual NVSG_API bool | containsCgFx (void) const |
Ask if this Node contains any CgFx attributes. | |
virtual NVSG_API void | invalidateCgFxContainment (void) |
Invalidate the CgFx containment cache. | |
virtual NVSG_API bool | containsLight (void) const |
Ask if this Node contains any LightSource. | |
virtual NVSG_API void | invalidateLightContainment (void) |
Invalidate the LightSource containment cache. | |
virtual NVSG_API bool | containsTransparentMaterial (void) const |
Ask if this Node contains any transparent Material attributes. | |
virtual NVSG_API void | invalidateTransparentMaterialContainment (void) |
Invalidate the transparent Material containment cache. | |
virtual NVSG_API bool | containsTransparentTexture (void) const |
Ask if this Node contains any transparent Texture. | |
virtual NVSG_API void | invalidateTransparentTextureContainment (void) |
Invalidate the transparent Texture containment cache. | |
virtual NVSG_API size_t | getNumberOfFrames (void) const |
Get the number of animation frames that are part of this Node. | |
virtual NVSG_API void | invalidateNumberOfFrames (void) const |
Invalidate the number of animation frames cache. | |
NVSG_API void | setAnnotation (const char *anno) |
Set the annotation of this Node. | |
NVSG_API const char * | getAnnotation (void) const |
Get the annotation of this Node. | |
Protected Member Functions | |
NVSG_API | Node (void) |
Constructor. | |
NVSG_API | Node (const Node &rhs) |
Copy constructor. | |
virtual NVSG_API | ~Node (void) |
Protected destructor to prevent explicit creation on stack. | |
virtual NVSG_API bool | calcBoundingSphere (void) const =0 |
Interface for calculating the BoundingSphere of this Node. | |
NVSG_API bool | extendBoundingSphere (const nvmath::Sphere3f &sphere) const |
Extend the bounding sphere of this Node by another sphere. | |
NVSG_API void | transformBoundingSphere (const nvmath::Mat44f &m, float factor=1.0f) const |
Transform the BoundingSphere by a matrix and a factor for the radius. | |
Friends | |
class | Group |
The Node is the base of all nodes of the scene graph, like GeoNode, Group, or LightSource.
|
Constructor.
|
|
Copy constructor.
|
|
Protected destructor to prevent explicit creation on stack.
|
|
Get a clone of this
Implemented in nvsg::AnimatedTransform, nvsg::DirectedLight, nvsg::GeoNode, nvsg::Group, nvsg::LOD, nvsg::PointLight, nvsg::SpotLight, nvsg::Switch, and nvsg::Transform. |
|
Determine whether the data of this object is shared.
Reimplemented from nvsg::Object. Reimplemented in nvsg::AnimatedTransform, nvsg::DirectedLight, nvsg::GeoNode, nvsg::Group, nvsg::LightSource, nvsg::PointLight, nvsg::SpotLight, nvsg::Switch, and nvsg::Transform. |
|
Get the DataID of the data of this object.
Reimplemented from nvsg::Object. Reimplemented in nvsg::AnimatedTransform, nvsg::DirectedLight, nvsg::GeoNode, nvsg::Group, nvsg::LightSource, nvsg::PointLight, nvsg::SpotLight, nvsg::Switch, and nvsg::Transform. |
|
Returns the number of Group nodes that currently reference this node.
|
|
Get the i-th parent of this Node.
|
|
Ask if the bounding sphere of this Node is valid. If the bounding sphere isn't valid, it is tried to validate it.
|
|
Get the bounding sphere of this Node. The bounding sphere of a Node is a sphere that completely contains the Node and all its children.
|
|
Invalidate the BoundingSphere.
|
|
Ask if this Node contains any CgFx attributes.
Reimplemented in nvsg::GeoNode, and nvsg::Group. |
|
Invalidate the CgFx containment cache. Invalidating the cache is carried to all parents of this Node. Reimplemented in nvsg::GeoNode, and nvsg::Group. |
|
Ask if this Node contains any LightSource.
Reimplemented in nvsg::Group, and nvsg::LightSource. |
|
Invalidate the LightSource containment cache. Invalidating the cache is carried to all parents of this Node. Reimplemented in nvsg::Group. |
|
Ask if this Node contains any transparent Material attributes.
Reimplemented in nvsg::GeoNode, and nvsg::Group. |
|
Invalidate the transparent Material containment cache. Invalidating the cache is carried to all parents of this Node. Reimplemented in nvsg::GeoNode, and nvsg::Group. |
|
Ask if this Node contains any transparent Texture.
Reimplemented in nvsg::GeoNode, and nvsg::Group. |
|
Invalidate the transparent Texture containment cache. Invalidating the cache is carried to all parents of this Node. Reimplemented in nvsg::GeoNode, and nvsg::Group. |
|
Get the number of animation frames that are part of this Node.
Reimplemented in nvsg::AnimatedTransform, nvsg::GeoNode, nvsg::Group, and nvsg::LightSource. |
|
Invalidate the number of animation frames cache. The cache is invalidated and the invalidation of a Node is called. Reimplemented in nvsg::GeoNode, and nvsg::Group. |
|
Set the annotation of this Node.
|
|
Get the annotation of this Node.
|
|
Interface for calculating the BoundingSphere of this Node.
Implemented in nvsg::GeoNode, nvsg::Group, nvsg::LightSource, nvsg::Switch, and nvsg::Transform. |
|
Extend the bounding sphere of this Node by another sphere. When a Node contains a number of children or geometries, it can calculate the bounding sphere of all its constituents and extend its bounding sphere by them.
|
|
Transform the BoundingSphere by a matrix and a factor for the radius.
|