#include <CullTraverser.h>
Inheritance diagram for nvtraverser::CullTraverser:
Protected Member Functions | |
NVSG_API | CullTraverser () |
Constructor (protected to prevent explicit instantiation). | |
virtual NVSG_API | ~CullTraverser (void) |
Destructor. | |
virtual NVSG_API nvsg::CullCode | cullCode (const nvsg::Drawable *p) const |
determine the CullCode of a Drawable . | |
virtual NVSG_API nvsg::CullCode | cullCode (const nvsg::Node *p) const |
Determine the CullCode of a Node. | |
virtual NVSG_API void | handleGeoNode (const nvsg::GeoNode *p) |
Determine the CullCode of each Drawable of p. | |
virtual NVSG_API void | handleGroup (const nvsg::Group *p) |
Determine the CullCode of all children of p. | |
virtual NVSG_API void | handleLOD (const nvsg::LOD *p) |
Determine the CullCode of all children of p. | |
virtual NVSG_API void | handleSwitch (const nvsg::Switch *p) |
Determine the CullCode of all children of p. | |
virtual NVSG_API void | handleTransform (const nvsg::Transform *p) |
Determine the CullCode of all children of p. | |
virtual NVSG_API void | handleQuads (const nvsg::Quads *p) |
Determine the CullCode of the Quads p. | |
virtual NVSG_API void | handleQuadStrips (const nvsg::QuadStrips *p) |
Determine the CullCode of the QuadStrips p. | |
virtual NVSG_API void | handleTriangles (const nvsg::Triangles *p) |
Determine the CullCode of the Triangles p. | |
virtual NVSG_API void | handleTriStrips (const nvsg::TriStrips *p) |
Determine the CullCode of the TriStrips p. | |
virtual NVSG_API void | traverseLight (const nvsg::LightSource *p) |
Set the CullCode of the LightSource p. | |
virtual NVSG_API void | doApply (const nvsg::ViewState *pViewState, const nvsg::Scene *pScene) |
Initiate traversing a given scene graph. |
Use this class as the base class for cull traversers. /**
|
Constructor (protected to prevent explicit instantiation).
|
|
Destructor.
|
|
determine the The default implementation returns CC_IN.
Reimplemented in nvtraverser::FrustumCullTraverser, and nvtraverser::OcclusionCullTraverser. |
|
Determine the The default implementaion returns CC_IN.
Reimplemented in nvtraverser::FrustumCullTraverser, and nvtraverser::OcclusionCullTraverser. |
|
Determine the CullCode of each Drawable of p. If the GeoNode p is partially visible, the CullCode of each of it's Drawable is determined and then traversed.
Reimplemented from nvtraverser::Traverser. |
|
Determine the CullCode of all children of p. If the Group p is partially visible, the CullCode of each of it's children is determined and then traversed.
Reimplemented from nvtraverser::Traverser. |
|
Determine the CullCode of all children of p. If the LOD p is partially visible, the CullCode of each of it's children is determined and then traversed.
Reimplemented from nvtraverser::ModelViewTraverser. |
|
Determine the CullCode of all children of p. If the Switch p is partially visible, the CullCode of each of it's children is determined and then traversed.
Reimplemented from nvtraverser::Traverser. |
|
Determine the CullCode of all children of p. If the Transform p is partially visible, the CullCode of each of it's children is determined and then traversed.
Reimplemented from nvtraverser::ModelViewTraverser. |
|
Determine the CullCode of the Quads p. The CullCode is determined and added to the Object to CullData map on top of the ObjectCullDataMapStack.
Reimplemented from nvtraverser::Traverser. |
|
Determine the CullCode of the QuadStrips p. The CullCode is determined and added to the Object to CullData map on top of the ObjectCullDataMapStack.
Reimplemented from nvtraverser::Traverser. |
|
Determine the CullCode of the Triangles p. The CullCode is determined and added to the Object to CullData map on top of the ObjectCullDataMapStack.
Reimplemented from nvtraverser::Traverser. |
|
Determine the CullCode of the TriStrips p. The CullCode is determined and added to the Object to CullData map on top of the ObjectCullDataMapStack.
Reimplemented from nvtraverser::Traverser. |
|
Set the CullCode of the LightSource p. All lights are always considered to be in.
Reimplemented from nvtraverser::Traverser. |
|
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 from nvtraverser::Traverser. Reimplemented in nvtraverser::OcclusionCullTraverser. |