#include <Traverser.h>
Inheritance diagram for nvtraverser::Traverser:
Public Methods | |
NVSG_API void | apply (const nvsg::ViewState *viewState, const nvsg::Scene *scene) |
Start traversing a scene graph. More... | |
Protected Methods | |
NVSG_API | Traverser (bool readOnly=true) |
Default construction on instantiation. More... | |
virtual NVSG_API | ~Traverser (void) |
Protected destructor to prevent instantiation of a Traverser. More... | |
virtual NVSG_API void | doApply (const nvsg::ViewState *viewState, const nvsg::Scene *scene) |
Initiate traversing a given scene graph. More... | |
template<typename HandlerType> void | addObjectHandler (unsigned int objectCode, HandlerType handler) |
Add a handler routine for a concrete Object derived object. More... | |
void | traverseObject (const nvsg::Object *object) |
Start traversing a general object. More... | |
template<typename T> void | traverseObject (const nvsg::Object *object, T arg) |
Start traversing a general object. More... | |
virtual NVSG_API void | handleGeoNode (const nvsg::GeoNode *p) |
Routine to handle a GeoNode while traversing the scene graph. More... | |
virtual NVSG_API void | handleGroup (const nvsg::Group *p) |
Routine to handle a Group node while traversing the scene graph. More... | |
virtual NVSG_API void | handleLOD (const nvsg::LOD *p) |
Routine to handle a LOD (Level Of Detail) node while traversing the scene graph. More... | |
virtual NVSG_API void | handleSwitch (const nvsg::Switch *p) |
Routine to handle a Switch node while traversing the scene graph. More... | |
virtual NVSG_API void | handleTransform (const nvsg::Transform *p) |
Routine to handle a Transform node while traversing the scene graph. More... | |
virtual NVSG_API void | handleAnimatedTransform (const nvsg::AnimatedTransform *p) |
Routine to handle a AnimatedTransform node while traversing the scene graph. More... | |
virtual NVSG_API void | handleDirectedLight (const nvsg::DirectedLight *p) |
Routine to handle a DirectedLight node while traversing the scene graph. More... | |
virtual NVSG_API void | handlePointLight (const nvsg::PointLight *p) |
Routine to handle a PointLight node while traversing the scene graph. More... | |
virtual NVSG_API void | handleSpotLight (const nvsg::SpotLight *p) |
Routine to handle a SpotLight node while traversing the scene graph. More... | |
virtual NVSG_API void | handleQuads (const nvsg::Quads *p) |
Routine to handle a Quads object while traversing the scene graph. More... | |
virtual NVSG_API void | handleAnimatedQuads (const nvsg::AnimatedQuads *p) |
Routine to handle a AnimatedQuads object while traversing the scene graph. More... | |
virtual NVSG_API void | handleQuadStrips (const nvsg::QuadStrips *p) |
Routine to handle a QuadStrips object while traversing the scene graph. More... | |
virtual NVSG_API void | handleTriangles (const nvsg::Triangles *p) |
Routine to handle a Triangles object while traversing the scene graph. More... | |
virtual NVSG_API void | handleAnimatedTriangles (const nvsg::AnimatedTriangles *p) |
Routine to handle a AnimatedTriangles object while traversing the scene graph. More... | |
virtual NVSG_API void | handleSkinnedTriangles (const nvsg::SkinnedTriangles *p) |
Routine to handle a SkinnedTriangles object while traversing the scene graph. More... | |
virtual NVSG_API void | handleTriStrips (const nvsg::TriStrips *p) |
Routine to handle a TriStrips object while traversing the scene graph. More... | |
virtual NVSG_API void | handleStateSet (const nvsg::StateSet *p) |
Routine to handle a StateSet object while traversing the scene graph. More... | |
virtual NVSG_API void | handleCgFx (const nvsg::CgFx *p) |
Routine to handle a CgFx attribute while traversing the scene graph. More... | |
virtual NVSG_API void | handleFaceAttribute (const nvsg::FaceAttribute *p) |
Routine to handle a FaceAttribute attribute while traversing the scene graph. More... | |
virtual NVSG_API void | handleMaterial (const nvsg::Material *p) |
Routine to handle a Material attribute while traversing the scene graph. More... | |
virtual NVSG_API void | handleTextureAttribute (const nvsg::TextureAttribute *p) |
Routine to handle a TextureAttribute attribute while traversing the scene graph. More... | |
virtual NVSG_API void | handleTextureAttributeItem (const nvsg::TextureAttributeItem *p, size_t tu) |
Routine to handle a TextureAttributeItem object while traversing the scene graph. More... | |
virtual NVSG_API void | handleJitterCamera (const nvsg::JitterCamera *p, const nvsg::Node *root) |
Routine to handle a JitterCamera object while traversing the scene graph. More... | |
virtual NVSG_API void | handleParallelCamera (const nvsg::ParallelCamera *p, const nvsg::Node *root) |
Routine to handle a ParallelCamera object while traversing the scene graph. More... | |
virtual NVSG_API void | handlePerspectiveCamera (const nvsg::PerspectiveCamera *p, const nvsg::Node *root) |
Routine to handle a PerspectiveCamera object while traversing the scene graph. More... | |
virtual NVSG_API void | handleStereoCamera (const nvsg::StereoCamera *p, const nvsg::Node *root) |
Routine to handle a StereoCamera object while traversing the scene graph. More... | |
virtual NVSG_API void | handleFramedTrafoAnimation (const nvsg::FramedAnimation< nvmath::Trafo > *p) |
Routine to handle a FramedAnimation<Trafo> object while traversing the scene graph. More... | |
virtual NVSG_API void | handleFramedVNVectorAnimation (const nvsg::FramedAnimation< nvsg::VNVector > *p) |
Routine to handle a FramedAnimation<VNVector> object while traversing the scene graph. More... | |
virtual NVSG_API void | handleLinearInterpolatedTrafoAnimation (const nvsg::LinearInterpolatedAnimation< nvmath::Trafo > *p) |
Routine to handle a LinearInterpolatedAnimation<Trafo> object while traversing the scene graph. More... | |
virtual NVSG_API void | handleLinearInterpolatedVNVectorAnimation (const nvsg::LinearInterpolatedAnimation< nvsg::VNVector > *p) |
Routine to handle a LinearInterpolatedAnimation<VNVector> object while traversing the scene graph. More... | |
virtual NVSG_API void | handleHighlightBox (const nvsg::HighlightBox *p, const nvsg::GeoSet *geoSet) |
Routine to handle a HighlightBox object while traversing the scene graph. More... | |
virtual NVSG_API void | handleHighlightEdges (const nvsg::HighlightEdges *p, const nvsg::GeoSet *geoSet) |
Routine to handle a HighlightEdges object while traversing the scene graph. More... | |
virtual NVSG_API bool | preTraverseRoot (const nvsg::SimpleCamera *p, const nvsg::Node *root) |
This function will be called from the framework immediately before the scene graph is traversed. More... | |
virtual NVSG_API void | postTraverseRoot (const nvsg::SimpleCamera *p, const nvsg::Node *root) |
This function will be called from the framework immediately after the scene graph has been traversed. More... | |
virtual NVSG_API void | preTraverseGroup (const nvsg::Group *p) |
This function will be called from the framework immediately before a Group is traversed. More... | |
virtual NVSG_API void | postTraverseGroup (const nvsg::Group *p) |
This function will be called from the framework immediately after a Group has been traversed. More... | |
virtual NVSG_API bool | preTraverseDrawable (const nvsg::Drawable *p) |
This function will be called from the framework immediately before a Drawable is traversed. More... | |
virtual NVSG_API void | traverseLight (const nvsg::LightSource *p) |
This function will be called from the framework when a LightSource node is visited. More... | |
template<typename T> T * | beginEdit (const T *obj) const |
Get a writable pointer to a constant object. More... | |
template<typename T> const T * | endEdit (const T *obj) const |
End the editing operation on a constant object. More... | |
Protected Attributes | |
std::stack< size_t > | m_lodStack |
holds the index of the current LOD level. More... | |
std::stack< const nvsg::CullData * > | m_cullStack |
holds the cull data corresponding to the traversed tree. More... | |
std::stack< const nvsg::Group * > | m_groupStack |
stack of groups just traversing. More... | |
const nvsg::StateSet * | m_defaultStateSet |
private copy of the scene's default states. More... | |
const nvsg::StateSet * | m_overrideStateSet |
private copy of the scnee's override states. More... |
A traverser serves as a link between a scene graph and a defined operation to be performed on the scene graph. That is, according to a certain scene graph's hierarchy, a traverser iterates over all scene graph components and performes a defined operation for each by means of an overloadable handler routine.
The Traverser class offers base functionality for all traversers that intend to provide read-write operations on a given scene graph. For all known and concrete Objects this base class provides a set of overloadable handler routines, each ensuring that all components following the actual object in the graph hierarchy will be traversed correctly. Hence, for derived traversers it is recommended to always call the base implementation of an overloaded handler routine for traversing purposes.
To provide new read-only operations to be applied on known and concrete components or objects arranged in a scene graph, it is sufficient to derive a new traverser from either Traverser or one of its derived traversers, and overload the corresponding handler routines as needed.
|
Default construction on instantiation. The constructor is protected, and hence, a Traverser object cannot be instantiated directly but only by deriving from Traverser. |
|
Protected destructor to prevent instantiation of a Traverser.
|
|
Start traversing a scene graph. This serves as the main entry point for clients to traverse a certain scene graph. The function waits to gain read access to the Scene object pointed to by scene. If an optional ViewState object is provided, the function also waits to gain read access to the ViewState object pointed to by viewState. After the function gains read access to the Scene object (and the ViewState object, if provided), it calls the protected and overloadable doApply member function to start traversing the corresponding scene graph. After traversing is completed, the function releases the read access to the Scene object and, if provided, the optional ViewState object.
|
|
Initiate traversing a given scene graph. This overloadable function is called from the traverser's entry point apply. The base implementation first initiates the traversing of the scene's global states, if available. After that the scene itself is traversed. If an optional ViewState ViewState is passed through viewState, it is applied prior to traversing the scene. Custom traversers may override this function in order to implement initial work to be done before traversing the scene. For derived classes to ensure proper traversing of the scene, it is recommended to always call the base implementation after the initial work has been done.
Reimplemented in WRLLoadTraverser, NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::AppTraverser, nvtraverser::CondenseTraverser, nvtraverser::CullTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullTraverser, nvtraverser::RayIntersectTraverser, nvtraverser::SearchTraverser, and nvtraverser::TransformUnifyTraverser. |
|
Add a handler routine for a concrete Object derived object. The function registers the handler routine specified by handler to handle a concrete Object that is explicitly identified by objectCode. A handler routine must be a member function of a Traverser-derived class. It must return void and expect a pointer to the concrete object as a first parameter, and can have one additional (optional) argument of arbitrary type. A handler routine must not have a default argument! If a handler routine is intended to remain overloadable, it should be declared virtual.
addObjectHandler is indispensible if newly invented objects, and hence, objects that are unknown by the Traverser base class, need to be considered for traversing.
|
|
Start traversing a general object. The function first waits to gain read access to the object pointed to by object. After that, it calls the corresponding and overloadable handler routine. After the handler routine returns, the function releases the read access to the object.
|
|
Start traversing a general object. The function first waits to gain read access to the object pointed to by object. After that, it calls the corresponding and overloadable handler routine with the additional argument arg. After the handler routine returns, the function releases the read access to the object.
|
|
Routine to handle a GeoNode while traversing the scene graph. This routine gets called for each GeoNode object that will be visited while traversing the scene graph. The currently visited GeoNode object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes. \note: The behavior is undefined if p points to an invalid location.
Reimplemented in NVBLoadTraverser, WRLLoadTraverser, NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::AppTraverser, nvtraverser::CondenseTraverser, nvtraverser::CullTraverser, nvtraverser::DrawableUnifyTraverser, nvtraverser::GeoNodeUnifyTraverser, nvtraverser::RayIntersectTraverser, nvtraverser::SearchTraverser, nvtraverser::SmoothTraverser, nvtraverser::StateSetUnifyTraverser, nvtraverser::StrippingTraverser, and nvtraverser::TriangulateTraverser. |
|
Routine to handle a Group node while traversing the scene graph. This routine gets called for each Group object that will be visited while traversing the scene graph. The currently visited Group object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes. \note: The behavior is undefined if p points to an invalid location.
Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::CullTraverser, nvtraverser::GroupUnifyTraverser, nvtraverser::IdentityToGroupTraverser, nvtraverser::RayIntersectTraverser, and nvtraverser::SearchTraverser. |
|
Routine to handle a LOD (Level Of Detail) node while traversing the scene graph. This routine gets called for each LOD object that will be visited while traversing the scene graph. The currently visited LOD object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes. \note: The behavior is undefined if p points to an invalid location.
Reimplemented in NVBLoadTraverser, NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::CullTraverser, nvtraverser::ModelViewTraverser, nvtraverser::RayIntersectTraverser, and nvtraverser::SearchTraverser. |
|
Routine to handle a Switch node while traversing the scene graph. This routine gets called for each Switch object that will be visited while traversing the scene graph. The currently visited Switch object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes. \note: The behavior is undefined if p points to an invalid location.
Reimplemented in NVBLoadTraverser, NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::CullTraverser, nvtraverser::RayIntersectTraverser, and nvtraverser::SearchTraverser. |
|
Routine to handle a Transform node while traversing the scene graph. This routine gets called for each Transform object that will be visited while traversing the scene graph. The currently visited Transform object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes. \note: The behavior is undefined if p points to an invalid location.
Reimplemented in WRLLoadTraverser, NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::CullTraverser, nvtraverser::GLTraverser, nvtraverser::IdentityToGroupTraverser, nvtraverser::ModelViewTraverser, nvtraverser::RayIntersectTraverser, nvtraverser::SearchTraverser, and nvtraverser::TransformUnifyTraverser. |
|
Routine to handle a AnimatedTransform node while traversing the scene graph. This routine gets called for each AnimatedTransform object that will be visited while traversing the scene graph. The currently visited AnimatedTransform object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes. \note: The behavior is undefined if p points to an invalid location.
Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::AppTraverser, nvtraverser::IdentityToGroupTraverser, nvtraverser::SearchTraverser, and nvtraverser::TransformUnifyTraverser. |
|
Routine to handle a DirectedLight node while traversing the scene graph. This routine gets called for each DirectedLight object that will be visited while traversing the scene graph. The currently visited DirectedLight object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes. \note: The behavior is undefined if p points to an invalid location.
Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullGLTraverser, and nvtraverser::SearchTraverser. |
|
Routine to handle a PointLight node while traversing the scene graph. This routine gets called for each PointLight object that will be visited while traversing the scene graph. The currently visited PointLight object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes. \note: The behavior is undefined if p points to an invalid location.
Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullGLTraverser, and nvtraverser::SearchTraverser. |
|
Routine to handle a SpotLight node while traversing the scene graph. This routine gets called for each SpotLight object that will be visited while traversing the scene graph. The currently visited SpotLight object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes. \note: The behavior is undefined if p points to an invalid location.
Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullGLTraverser, and nvtraverser::SearchTraverser. |
|
Routine to handle a Quads object while traversing the scene graph. This routine gets called for each Quads object that will be visited while traversing the scene graph. The currently visited Quads object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes. \note: The behavior is undefined if p points to an invalid location.
Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::CullTraverser, nvtraverser::DrawableUnifyTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::RayIntersectTraverser, nvtraverser::SearchTraverser, nvtraverser::SmoothTraverser, nvtraverser::StrippingTraverser, and nvtraverser::TriangulateTraverser. |
|
Routine to handle a AnimatedQuads object while traversing the scene graph. This routine gets called for each AnimatedQuads object that will be visited while traversing the scene graph. The currently visited AnimatedQuads object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes. \note: The behavior is undefined if p points to an invalid location.
Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::AppTraverser, nvtraverser::DrawableUnifyTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::SearchTraverser, nvtraverser::SmoothTraverser, nvtraverser::StrippingTraverser, and nvtraverser::TriangulateTraverser. |
|
Routine to handle a QuadStrips object while traversing the scene graph. This routine gets called for each QuadStrips object that will be visited while traversing the scene graph. The currently visited QuadStrips object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes. \note: The behavior is undefined if p points to an invalid location.
Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::CullTraverser, nvtraverser::DrawableUnifyTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::RayIntersectTraverser, nvtraverser::SearchTraverser, nvtraverser::SmoothTraverser, and nvtraverser::TriangulateTraverser. |
|
Routine to handle a Triangles object while traversing the scene graph. This routine gets called for each Triangles object that will be visited while traversing the scene graph. The currently visited Triangles object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes. \note: The behavior is undefined if p points to an invalid location.
Reimplemented in NVBLoadTraverser, NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::CullTraverser, nvtraverser::DrawableUnifyTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::RayIntersectTraverser, nvtraverser::SearchTraverser, nvtraverser::SmoothTraverser, and nvtraverser::StrippingTraverser. |
|
Routine to handle a AnimatedTriangles object while traversing the scene graph. This routine gets called for each AnimatedTriangles object that will be visited while traversing the scene graph. The currently visited AnimatedTriangles object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes. \note: The behavior is undefined if p points to an invalid location.
Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::AppTraverser, nvtraverser::DrawableUnifyTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::SearchTraverser, nvtraverser::SmoothTraverser, and nvtraverser::StrippingTraverser. |
|
Routine to handle a SkinnedTriangles object while traversing the scene graph. This routine gets called for each SkinnedTriangles object that will be visited while traversing the scene graph. The currently visited SkinnedTriangles object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes. \note: The behavior is undefined if p points to an invalid location.
Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::AppTraverser, nvtraverser::DrawableUnifyTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::SearchTraverser, nvtraverser::SmoothTraverser, and nvtraverser::StrippingTraverser. |
|
Routine to handle a TriStrips object while traversing the scene graph. This routine gets called for each TriStrips object that will be visited while traversing the scene graph. The currently visited TriStrips object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes. \note: The behavior is undefined if p points to an invalid location.
Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::CullTraverser, nvtraverser::DrawableUnifyTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::RayIntersectTraverser, nvtraverser::SearchTraverser, and nvtraverser::SmoothTraverser. |
|
Routine to handle a StateSet object while traversing the scene graph. This routine gets called for each StateSet object that will be visited while traversing the scene graph. The currently visited StateSet object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes. \note: The behavior is undefined if p points to an invalid location.
Reimplemented in NVBLoadTraverser, NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::DrawableUnifyTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::SearchTraverser, and nvtraverser::StateSetUnifyTraverser. |
|
Routine to handle a CgFx attribute while traversing the scene graph. This routine gets called for each CgFx object that will be visited while traversing the scene graph. The currently visited CgFx object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes. \note: The behavior is undefined if p points to an invalid location.
Reimplemented in NVBLoadTraverser, NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::AppTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::SearchTraverser, and nvtraverser::StateSetUnifyTraverser. |
|
Routine to handle a FaceAttribute attribute while traversing the scene graph. This routine gets called for each FaceAttribute object that will be visited while traversing the scene graph. The currently visited FaceAttribute object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes. \note: The behavior is undefined if p points to an invalid location.
Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::SearchTraverser, and nvtraverser::StateSetUnifyTraverser. |
|
Routine to handle a Material attribute while traversing the scene graph. This routine gets called for each Material object that will be visited while traversing the scene graph. The currently visited Material object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes. \note: The behavior is undefined if p points to an invalid location.
Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::SearchTraverser, and nvtraverser::StateSetUnifyTraverser. |
|
Routine to handle a TextureAttribute attribute while traversing the scene graph. This routine gets called for each TextureAttribute object that will be visited while traversing the scene graph. The currently visited TextureAttribute object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes. \note: The behavior is undefined if p points to an invalid location.
Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::SearchTraverser, and nvtraverser::StateSetUnifyTraverser. |
|
Routine to handle a TextureAttributeItem object while traversing the scene graph. This routine gets called for each TextureAttributeItem object that will be visited while traversing the scene graph. The currently visited TextureAttributeItem object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes. \note: The behavior is undefined if p points to an invalid location.
Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullGLTraverser, and nvtraverser::StateSetUnifyTraverser. |
|
Routine to handle a JitterCamera object while traversing the scene graph. This routine gets called for each JitterCamera object that will be visited while traversing the scene graph. The currently visited JitterCamera object is pointed to by p. If the root node pointed to by root is valid (that is, root is not a null pointer), this function traverses the root node after the camera settings have been evaluated. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes. \note: The behavior is undefined if p points to an invalid location.
Reimplemented in NVBLoadTraverser, NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullGLTraverser, and nvtraverser::SearchTraverser. |
|
Routine to handle a ParallelCamera object while traversing the scene graph. This routine gets called for each ParallelCamera object that will be visited while traversing the scene graph. The currently visited ParallelCamera object is pointed to by p. If the root node pointed to by root is valid (that is, root is not a null pointer), this function traverses the root node after the camera settings have been evaluated. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes. \note: The behavior is undefined if p points to an invalid location.
Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::GLTraverser, nvtraverser::ModelViewTraverser, nvtraverser::RenderTraverser, and nvtraverser::SearchTraverser. |
|
Routine to handle a PerspectiveCamera object while traversing the scene graph. This routine gets called for each PerspectiveCamera object that will be visited while traversing the scene graph. The currently visited PerspectiveCamera object is pointed to by p. If the root node pointed to by root is valid (that is, root is not a null pointer), this function traverses the root node after the camera settings have been evaluated. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes. \note: The behavior is undefined if p points to an invalid location.
Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::GLTraverser, nvtraverser::ModelViewTraverser, nvtraverser::RenderTraverser, and nvtraverser::SearchTraverser. |
|
Routine to handle a StereoCamera object while traversing the scene graph. This routine gets called for each StereoCamera object that will be visited while traversing the scene graph. The currently visited StereoCamera object is pointed to by p. If the root node pointed to by root is valid (that is, root is not a null pointer), this function traverses the root node after the camera settings have been evaluated. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes. \note: The behavior is undefined if p points to an invalid location.
Reimplemented in NVBLoadTraverser, NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullGLTraverser, and nvtraverser::SearchTraverser. |
|
Routine to handle a FramedAnimation<Trafo> object while traversing the scene graph. This routine gets called for each FramedAnimation<Trafo> object that will be visited while traversing the scene graph. The currently visited FramedAnimation<Trafo> object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes. \note: The behavior is undefined if p points to an invalid location.
Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, and nvtraverser::SearchTraverser. |
|
Routine to handle a FramedAnimation<VNVector> object while traversing the scene graph. This routine gets called for each FramedAnimation<VNVector> object that will be visited while traversing the scene graph. The currently visited FramedAnimation<VNVector> object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes. \note: The behavior is undefined if p points to an invalid location.
Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, and nvtraverser::SearchTraverser. |
|
Routine to handle a LinearInterpolatedAnimation<Trafo> object while traversing the scene graph. This routine gets called for each LinearInterpolatedAnimation<Trafo> object that will be visited while traversing the sc ene graph. The currently visited LinearInterpolatedAnimation<Trafo> object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes. \note: The behavior is undefined if p points to an invalid location.
Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, and nvtraverser::SearchTraverser. |
|
Routine to handle a LinearInterpolatedAnimation<VNVector> object while traversing the scene graph. This routine gets called for each LinearInterpolatedAnimation<VNVector> object that will be visited while traversing the scene graph. The currently visited LinearInterpolatedAnimation<VNVector> object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes. \note: The behavior is undefined if p points to an invalid location.
Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, and nvtraverser::SearchTraverser. |
|
Routine to handle a HighlightBox object while traversing the scene graph. This routine gets called for each HighlightBox object that will be visited while traversing the scene graph. The currently visited Highlight object is pointed to by p.
Reimplemented in nvtraverser::AppTraverser, nvtraverser::GLTraverser, and nvtraverser::OcclusionCullGLTraverser. |
|
Routine to handle a HighlightEdges object while traversing the scene graph. This routine gets called for each HighlightEdges object that will be visited while traversing the scene graph. The currently visited Highlight object is pointed to by p.
Reimplemented in nvtraverser::GLTraverser, and nvtraverser::OcclusionCullGLTraverser. |
|
This function will be called from the framework immediately before the scene graph is traversed.
If the function returns
Reimplemented in nvtraverser::FrustumCullTraverser, nvtraverser::GLTraverser, nvtraverser::ModelViewTraverser, and nvtraverser::OcclusionCullGLTraverser. |
|
This function will be called from the framework immediately after the scene graph has been traversed. remarks Custom traversers can override this function for any tasks that need to be done immediately after the scene graph has been traversed.
Reimplemented in nvtraverser::OcclusionCullGLTraverser. |
|
This function will be called from the framework immediately before a Group is traversed.
Reimplemented in nvtraverser::GeoNodeUnifyTraverser, nvtraverser::GroupUnifyTraverser, and nvtraverser::TransformUnifyTraverser. |
|
This function will be called from the framework immediately after a Group has been traversed.
Reimplemented in nvtraverser::GeoNodeUnifyTraverser, nvtraverser::GroupUnifyTraverser, nvtraverser::RenderTraverser, and nvtraverser::TransformUnifyTraverser. |
|
This function will be called from the framework immediately before a Drawable is traversed.
If the function returns
Reimplemented in nvtraverser::GLTraverser. |
|
This function will be called from the framework when a LightSource node is visited. remarks Custom traversers can override this function for special tasks that need to be performed when visiting a LightSource node.
Reimplemented in nvtraverser::AppTraverser, nvtraverser::CullTraverser, and nvtraverser::RenderTraverser. |
|
Get a writable pointer to a constant object. While traversing, all modifications of objects have to be embraced by beginEdit/endEdit.
|
|
End the editing operation on a constant object. While traversing, all modifications of objects have to be embraced by beginEdit/endEdit.
|
|
holds the index of the current LOD level.
|
|
holds the cull data corresponding to the traversed tree.
|
|
stack of groups just traversing.
|
|
private copy of the scene's default states.
|
|
private copy of the scnee's override states.
|