Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

CullTraverser Class Reference

#include <cullTraverser.h>

Inheritance diagram for CullTraverser:

TypedObject PGCullTraverser List of all members.

Public Member Functions

 CullTraverser ()
 CullTraverser (const CullTraverser &copy)
INLINE void set_scene (SceneSetup *scene_setup)
INLINE SceneSetupget_scene () const
INLINE void set_camera_mask (const DrawMask &camera_mask)
INLINE const DrawMaskget_camera_mask () const
INLINE const TransformStateget_camera_transform () const
INLINE const TransformStateget_render_transform () const
INLINE void set_initial_state (const RenderState *initial_state)
INLINE const RenderStateget_initial_state () const
INLINE void set_depth_offset_decals (bool flag)
INLINE bool get_depth_offset_decals () const
INLINE void set_view_frustum (GeometricBoundingVolume *view_frustum)
INLINE GeometricBoundingVolumeget_view_frustum () const
INLINE void set_guard_band (GeometricBoundingVolume *guard_band)
INLINE GeometricBoundingVolumeget_guard_band () const
INLINE void set_cull_handler (CullHandler *cull_handler)
INLINE CullHandlerget_cull_handler () const
void traverse (const NodePath &root)
void traverse (CullTraverserData &data)
void traverse_below (CullTraverserData &data)
virtual TypeHandle get_type () const
virtual TypeHandle force_init_type ()

Static Public Member Functions

TypeHandle get_class_type ()
void init_type ()

Private Member Functions

void show_bounds (CullTraverserData &data)
 PT (Geom) make_bounds_viz(const BoundingVolume &vol)
 CPT (RenderState) get_bounds_outer_viz_state()
 CPT (RenderState) get_bounds_inner_viz_state()
 CPT (RenderState) get_depth_offset_state()
void start_decal (const CullTraverserData &data)
CullableObjectr_get_decals (CullTraverserData &data, CullableObject *decals)
 PT (SceneSetup) _scene_setup
 CPT (RenderState) _initial_state
 PT (GeometricBoundingVolume) _view_frustum
 PT (GeometricBoundingVolume) _guard_band

Private Attributes

DrawMask _camera_mask
bool _depth_offset_decals
CullHandler_cull_handler

Static Private Attributes

TypeHandle _type_handle

Constructor & Destructor Documentation

CullTraverser::CullTraverser  ) 
 

Definition at line 44 of file cullTraverser.cxx.

References _camera_mask, _cull_handler, _depth_offset_decals, BitMask< PN_uint32, 32 >::all_on(), and NULL.

CullTraverser::CullTraverser const CullTraverser &  copy  ) 
 

Definition at line 57 of file cullTraverser.cxx.


Member Function Documentation

CullTraverser::CPT RenderState   )  [private]
 

CullTraverser::CPT RenderState   )  [private]
 

CullTraverser::CPT RenderState   )  [private]
 

CullTraverser::CPT RenderState   )  [private]
 

virtual TypeHandle CullTraverser::force_init_type void   )  [inline, virtual]
 

Implements TypedObject.

Reimplemented in PGCullTraverser.

Definition at line 110 of file cullTraverser.h.

References TypedObject::get_class_type(), and TypedObject::init_type().

INLINE const DrawMask& CullTraverser::get_camera_mask  )  const
 

INLINE const TransformState* CullTraverser::get_camera_transform  )  const
 

Referenced by CullTraverserData::apply_transform_and_state(), LODNode::cull_callback(), RopeNode::render_billboard(), and traverse().

TypeHandle CullTraverser::get_class_type void   )  [inline, static]
 

Reimplemented from TypedObject.

Reimplemented in PGCullTraverser.

Definition at line 99 of file cullTraverser.h.

Referenced by PGCullTraverser::force_init_type(), PGCullTraverser::get_type(), and PGCullTraverser::init_type().

INLINE CullHandler* CullTraverser::get_cull_handler  )  const
 

Referenced by RopeNode::render_billboard(), and RopeNode::render_thread().

INLINE bool CullTraverser::get_depth_offset_decals  )  const
 

INLINE GeometricBoundingVolume* CullTraverser::get_guard_band  )  const
 

INLINE const RenderState* CullTraverser::get_initial_state  )  const
 

INLINE const TransformState* CullTraverser::get_render_transform  )  const
 

Referenced by traverse().

INLINE SceneSetup* CullTraverser::get_scene  )  const
 

virtual TypeHandle CullTraverser::get_type void   )  const [inline, virtual]
 

Implements TypedObject.

Reimplemented in PGCullTraverser.

Definition at line 107 of file cullTraverser.h.

References TypedObject::get_class_type().

INLINE GeometricBoundingVolume* CullTraverser::get_view_frustum  )  const
 

void CullTraverser::init_type void   )  [inline, static]
 

Reimplemented from TypedObject.

Reimplemented in PGCullTraverser.

Definition at line 102 of file cullTraverser.h.

References TypedObject::get_class_type(), TypedObject::init_type(), and register_type().

Referenced by PGCullTraverser::force_init_type(), init_libpgraph(), and PGCullTraverser::init_type().

CullTraverser::PT GeometricBoundingVolume   )  [private]
 

CullTraverser::PT GeometricBoundingVolume   )  [private]
 

CullTraverser::PT SceneSetup   )  [private]
 

CullTraverser::PT Geom   )  const [private]
 

Referenced by show_bounds().

CullableObject * CullTraverser::r_get_decals CullTraverserData data,
CullableObject decals
[private]
 

Definition at line 381 of file cullTraverser.cxx.

References _camera_mask, data, DCAST, PandaNode::get_child(), PandaNode::get_effects(), PandaNode::get_first_visible_child(), PandaNode::get_next_visible_child(), PandaNode::get_num_children(), PandaNode::has_selective_visibility(), RenderEffects::has_show_bounds(), PandaNode::is_geom_node(), and show_bounds().

Referenced by start_decal().

INLINE void CullTraverser::set_camera_mask const DrawMask camera_mask  ) 
 

Referenced by GraphicsEngine::do_cull().

INLINE void CullTraverser::set_cull_handler CullHandler cull_handler  ) 
 

Referenced by GraphicsEngine::do_cull().

INLINE void CullTraverser::set_depth_offset_decals bool  flag  ) 
 

Referenced by GraphicsEngine::do_cull().

INLINE void CullTraverser::set_guard_band GeometricBoundingVolume guard_band  ) 
 

INLINE void CullTraverser::set_initial_state const RenderState initial_state  ) 
 

INLINE void CullTraverser::set_scene SceneSetup scene_setup  ) 
 

Referenced by GraphicsEngine::do_cull().

INLINE void CullTraverser::set_view_frustum GeometricBoundingVolume view_frustum  ) 
 

Referenced by GraphicsEngine::do_cull().

void CullTraverser::show_bounds CullTraverserData data  )  [private]
 

Definition at line 201 of file cullTraverser.cxx.

References _cull_handler, data, PandaNode::get_bound(), NULL, PT(), and CullHandler::record_object().

Referenced by r_get_decals(), and traverse().

void CullTraverser::start_decal const CullTraverserData data  )  [private]
 

Definition at line 318 of file cullTraverser.cxx.

References _cull_handler, data, DCAST, PandaNode::get_children(), PandaNode::get_first_visible_child(), PandaNode::get_next_visible_child(), PandaNode::has_selective_visibility(), PandaNode::is_geom_node(), NULL, r_get_decals(), and CullHandler::record_object().

Referenced by traverse_below().

void CullTraverser::traverse CullTraverserData data  ) 
 

Definition at line 92 of file cullTraverser.cxx.

References _camera_mask, Fog::adjust_to_camera(), PandaNode::cull_callback(), data, get_camera_transform(), PandaNode::get_effects(), FogAttrib::get_fog(), RenderState::get_fog(), PandaNode::get_state(), PandaNode::has_cull_callback(), RenderEffects::has_show_bounds(), NULL, show_bounds(), and traverse_below().

void CullTraverser::traverse const NodePath root  ) 
 

Definition at line 74 of file cullTraverser.cxx.

References _cull_handler, data, get_render_transform(), NULL, and root.

Referenced by TextNode::cull_callback(), PGItem::cull_callback(), PGEntry::cull_callback(), CollisionNode::cull_callback(), GraphicsEngine::do_cull(), and traverse_below().

void CullTraverser::traverse_below CullTraverserData data  ) 
 

Definition at line 137 of file cullTraverser.cxx.

References _cull_handler, _depth_offset_decals, data, DCAST, PandaNode::get_child(), PandaNode::get_effects(), PandaNode::get_first_visible_child(), PandaNode::get_next_visible_child(), PandaNode::get_num_children(), RenderEffects::has_decal(), PandaNode::has_selective_visibility(), PandaNode::is_geom_node(), CullHandler::record_object(), start_decal(), and traverse().

Referenced by PGTop::cull_callback(), and traverse().


Member Data Documentation

DrawMask CullTraverser::_camera_mask [private]
 

Definition at line 91 of file cullTraverser.h.

Referenced by CullTraverser(), r_get_decals(), and traverse().

CullHandler* CullTraverser::_cull_handler [private]
 

Definition at line 96 of file cullTraverser.h.

Referenced by CullTraverser(), show_bounds(), start_decal(), traverse(), and traverse_below().

bool CullTraverser::_depth_offset_decals [private]
 

Definition at line 93 of file cullTraverser.h.

Referenced by CullTraverser(), and traverse_below().

TypeHandle CullTraverser::_type_handle [static, private]
 

Reimplemented from TypedObject.

Reimplemented in PGCullTraverser.

Definition at line 36 of file cullTraverser.cxx.


The documentation for this class was generated from the following files:
Generated on Fri Apr 18 00:11:48 2003 for Panda by doxygen1.3