|
|
|
This collects together the pieces of data that are accumulated for each node while walking the scene graph during the cull traversal.
More...
#include "cullTraverserData.h"
List of all members.
Public Member Functions |
|
| CullTraverserData (const NodePath &start, const TransformState *net_transform, const RenderState *state, GeometricBoundingVolume *view_frustum, Thread *current_thread) |
|
| CullTraverserData (const CullTraverserData ©) |
| | CullTraverserData (const CullTraverserData &parent, PandaNode *child) |
| | This constructor creates a CullTraverserData object that reflects the next node down in the traversal.
|
| void | apply_transform_and_state (CullTraverser *trav) |
| | Applies the transform and state from the current node onto the current data.
|
| void | apply_transform_and_state (CullTraverser *trav, CPT(TransformState) node_transform, CPT(RenderState) node_state, CPT(RenderEffects) node_effects, const RenderAttrib *off_clip_planes) |
| | Applies the indicated transform and state changes (e.g.
|
|
| CPT (CullPlanes) _cull_planes |
|
| CPT (RenderState) _state |
|
| CPT (TransformState) get_modelview_transform(const CullTraverser *trav) const |
|
| CPT (TransformState) _net_transform |
| const TransformState * | get_net_transform (const CullTraverser *trav) const |
| | Returns the net transform: the relative transform from root of the scene graph to the current node.
|
| bool | is_in_view (const DrawMask &camera_mask) |
| | Returns true if the current node is within the view frustum, false otherwise.
|
| bool | is_this_node_hidden (const CullTraverser *trav) const |
| | 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 () const |
| | Returns the node traversed to so far.
|
| const PandaNodePipelineReader * | node_reader () const |
| | Returns the PipelineReader for the node traversed to so far.
|
| PandaNodePipelineReader * | node_reader () |
| | Returns the PipelineReader for the node traversed to so far.
|
|
void | operator= (const CullTraverserData ©) |
|
| PT (GeometricBoundingVolume) _view_frustum |
Public Attributes |
|
DrawMask | _draw_mask |
|
WorkingNodePath | _node_path |
|
PandaNodePipelineReader | _node_reader |
|
int | _portal_depth |
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).
Definition at line 45 of file cullTraverserData.h.
Constructor & Destructor Documentation
Member Function Documentation
| void CullTraverserData::apply_transform_and_state |
( |
CullTraverser * |
trav | ) |
|
Applies the transform and state from the current node onto the current data.
This also evaluates billboards, etc.
Definition at line 49 of file cullTraverserData.cxx.
References PandaNodePipelineReader::compose_draw_mask(), SceneSetup::get_camera_node(), PandaNodePipelineReader::get_effects(), CullTraverser::get_scene(), PandaNodePipelineReader::get_state(), PandaNodePipelineReader::get_tag(), CullTraverser::get_tag_state_key(), PandaNodePipelineReader::get_transform(), PandaNodePipelineReader::has_tag(), and CullTraverser::has_tag_state_key().
Referenced by LODNode::show_switches_cull_callback(), and CullTraverser::traverse().
| bool CullTraverserData::is_in_view |
( |
const DrawMask & |
camera_mask | ) |
[inline] |
| bool CullTraverserData::is_this_node_hidden |
( |
const CullTraverser * |
trav | ) |
const [inline] |
| PandaNode * CullTraverserData::node |
( |
| ) |
const [inline] |
Returns the PipelineReader for the node traversed to so far.
Definition at line 130 of file cullTraverserData.I.
The documentation for this class was generated from the following files:
| | |