#include <ModelViewTraverser.h>
Inheritance diagram for nvtraverser::ModelViewTraverser:
Protected Methods | |
NVSG_API | ModelViewTraverser (bool readOnly=true) |
Protected constructor to prevent instantiation of a ModelViewTraverser. 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 | ~ModelViewTraverser () |
Protected destructor to prevent instantiation of a ModelViewTraverser. More... | |
virtual NVSG_API void | handleParallelCamera (const nvsg::ParallelCamera *p, const nvsg::Node *root) |
Provide special treatment of a ParallelCamera object. More... | |
virtual NVSG_API void | handlePerspectiveCamera (const nvsg::PerspectiveCamera *p, const nvsg::Node *root) |
Provide special treatment of a PerspectiveCamera object. More... | |
virtual NVSG_API void | handleTransform (const nvsg::Transform *p) |
Provide special treatment of a Transform node. More... | |
virtual NVSG_API bool | preTraverseTransform (const nvsg::Transform *p) |
Handles actions to take between transform stack adjustment and traversal. More... | |
virtual NVSG_API void | postTraverseTransform (const nvsg::Transform *p) |
Handles actions to take between traversal and transform stack adjustment. More... | |
virtual NVSG_API bool | preTraverseRoot (const nvsg::SimpleCamera *p, const nvsg::Node *root) |
Handles actions to take just before the scene is traversed. More... | |
Protected Attributes | |
nvutil::TransformStack | m_transformStack |
stack of transformations that holds the actual transformations while traversing a tree. More... |
Use this class as a base for traversers that need to maintain the current model view transformation.
|
Protected constructor to prevent instantiation of a ModelViewTraverser.
|
|
Protected destructor to prevent instantiation of a ModelViewTraverser.
|
|
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 from nvtraverser::Traverser. Reimplemented in nvtraverser::CullTraverser, and nvtraverser::RayIntersectTraverser. |
|
Provide special treatment of a ParallelCamera object. The function initializes the model view transformation stack and calls the base class handler function.
Reimplemented from nvtraverser::Traverser. Reimplemented in nvtraverser::GLTraverser, and nvtraverser::RenderTraverser. |
|
Provide special treatment of a PerspectiveCamera object. The function initializes the model view transformation stack and calls the base class handler function.
Reimplemented from nvtraverser::Traverser. Reimplemented in nvtraverser::GLTraverser, and nvtraverser::RenderTraverser. |
|
Provide special treatment of a Transform node. On a Transform the modelview matrix is modified, the children are traversed, and the modelview matrix is restored.
Reimplemented from nvtraverser::Traverser. Reimplemented in nvtraverser::CullTraverser, nvtraverser::GLTraverser, and nvtraverser::RayIntersectTraverser. |
|
Handles actions to take between transform stack adjustment and traversal. In this base class, this is a NOP.
Reimplemented in nvtraverser::FrustumCullTraverser, nvtraverser::GLTraverser, and nvtraverser::RayIntersectTraverser. |
|
Handles actions to take between traversal and transform stack adjustment. When this function returns true, the subtree beneath is traversed. Otherwise it isn't.
Reimplemented in nvtraverser::FrustumCullTraverser, and nvtraverser::RayIntersectTraverser. |
|
Handles actions to take just before the scene is traversed. This initializes the camera related part of the transform stack (after traversal of the headlights).
Reimplemented from nvtraverser::Traverser. Reimplemented in nvtraverser::FrustumCullTraverser, nvtraverser::GLTraverser, and nvtraverser::OcclusionCullGLTraverser. |
|
stack of transformations that holds the actual transformations while traversing a tree.
|