Panda3D
Public Member Functions

CullTraverserData Class Reference

This collects together the pieces of data that are accumulated for each node while walking the scene graph during the cull traversal. More...

List of all members.

Public Member Functions

 applyTransformAndState (CullTraverser trav)
 Applies the transform and state from the current node onto the current data.
 applyTransformAndState (CullTraverser trav, TransformState const node_transform, RenderState const node_state, RenderEffects const node_effects, RenderAttrib const off_clip_planes)
 Applies the indicated transform and state changes (e.g.
TransformState const getModelviewTransform (CullTraverser const trav)
 Returns the modelview transform: the relative transform from the camera to the model.
TransformState const getNetTransform (CullTraverser const trav)
 Returns the net transform: the relative transform from root of the scene graph to the current node.
bool isInView (BitMaskunsigned int, 32 const camera_mask)
 Returns true if the current node is within the view frustum, false otherwise.
bool isThisNodeHidden (CullTraverser const trav)
 Returns true if this particular node is hidden, even though we might be traversing past this node to find a child node that has had show_through() called for it.
PandaNode node ()
 Returns the node traversed to so far.

Detailed Description

This collects together the pieces of data that are accumulated for each node while walking the scene graph during the cull traversal.

Having this as a separate object simplifies the parameter list to CullTraverser.r_traverse(), as well as to other functions like PandaNode.cull_callback(). It also makes it easier to add cull parameters, and provides a place to abstract out some of the cull behavior (like view-frustum culling).


Member Function Documentation

applyTransformAndState ( CullTraverser  trav)

Applies the transform and state from the current node onto the current data.

This also evaluates billboards, etc.

applyTransformAndState ( CullTraverser  trav,
TransformState const  node_transform,
RenderState const  node_state,
RenderEffects const  node_effects,
RenderAttrib const  off_clip_planes 
)

Applies the indicated transform and state changes (e.g.

as extracted from a node) onto the current data. This also evaluates billboards, etc.

TransformState const getModelviewTransform ( CullTraverser const  trav)

Returns the modelview transform: the relative transform from the camera to the model.

TransformState const getNetTransform ( CullTraverser const  trav)

Returns the net transform: the relative transform from root of the scene graph to the current node.

bool isInView ( BitMaskunsigned  int,
32 const  camera_mask 
)

Returns true if the current node is within the view frustum, false otherwise.

If the node's bounding volume falls completely within the view frustum, this will also reset the view frustum pointer, saving some work for future nodes.

bool isThisNodeHidden ( CullTraverser const  trav)

Returns true if this particular node is hidden, even though we might be traversing past this node to find a child node that has had show_through() called for it.

If this returns true, the node should not be rendered.

PandaNode node ( )

Returns the node traversed to so far.

 All Classes Namespaces Functions Variables Enumerations Enumerator Properties