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

CollisionLevelState Class Reference

#include <collisionLevelState.h>

List of all members.

Public Member Functions

INLINE CollisionLevelState (const NodePath &node_path)
INLINE CollisionLevelState (const CollisionLevelState &parent, PandaNode *child)
void clear ()
void reserve (int max_colliders)
void prepare_collider (const ColliderDef &def)
bool any_in_bounds ()
void apply_transform ()
INLINE NodePath get_node_path () const
INLINE PandaNodenode () const
INLINE int get_num_colliders () const
INLINE bool has_collider (int n) const
INLINE bool has_collider_with_geom (int n) const
INLINE bool has_any_collider () const
INLINE bool has_any_collide_geom () const
INLINE void reached_collision_node ()
INLINE CollisionSolidget_collider (int n) const
INLINE CollisionNodeget_node (int n) const
INLINE const LMatrix4f & get_space (int n) const
INLINE const LMatrix4f & get_inv_space (int n) const
INLINE const GeometricBoundingVolumeget_local_bound (int n) const
INLINE const GeometricBoundingVolumeget_parent_bound (int n) const
INLINE void omit_collider (int n)

Private Types

typedef int ColliderMask

Private Member Functions

INLINE ColliderMask get_mask (int n) const
typedef PTA (ColliderDef) Colliders
typedef PTA (CPT(GeometricBoundingVolume)) BoundingVolumes

Private Attributes

WorkingNodePath _node_path
Colliders _colliders
ColliderMask _current
ColliderMask _colliders_with_geom
BoundingVolumes _local_bounds
BoundingVolumes _parent_bounds


Member Typedef Documentation

typedef int CollisionLevelState::ColliderMask [private]
 

Definition at line 88 of file collisionLevelState.h.


Constructor & Destructor Documentation

INLINE CollisionLevelState::CollisionLevelState const NodePath node_path  ) 
 

INLINE CollisionLevelState::CollisionLevelState const CollisionLevelState &  parent,
PandaNode child
 


Member Function Documentation

bool CollisionLevelState::any_in_bounds  ) 
 

Definition at line 103 of file collisionLevelState.cxx.

References _node_path, c, GeometricBoundingVolume::contains(), DCAST_INTO_R, PandaNode::get_bound(), GeometricBoundingVolume::get_class_type(), CollisionNode::get_collide_geom(), CollisionNode::get_from_collide_mask(), get_local_bound(), PandaNode::get_net_collide_mask(), get_node(), WorkingNodePath::get_node_path(), get_num_colliders(), WorkingNodePath::get_num_nodes(), has_any_collider(), has_collider(), indent(), TypedObject::is_of_type(), node(), NULL, and omit_collider().

Referenced by CollisionTraverser::r_traverse().

void CollisionLevelState::apply_transform  ) 
 

Definition at line 184 of file collisionLevelState.cxx.

References _local_bounds, _parent_bounds, c, CPT, DCAST, get_local_bound(), get_num_colliders(), PandaNode::get_transform(), has_collider(), TransformState::is_identity(), node(), NULL, and GeometricBoundingVolume::xform().

Referenced by CollisionTraverser::r_traverse().

void CollisionLevelState::clear  ) 
 

Definition at line 29 of file collisionLevelState.cxx.

References _colliders, _colliders_with_geom, _current, _local_bounds, and _parent_bounds.

Referenced by CollisionTraverser::prepare_colliders().

INLINE CollisionSolid* CollisionLevelState::get_collider int  n  )  const
 

Referenced by CollisionTraverser::r_traverse().

INLINE const LMatrix4f& CollisionLevelState::get_inv_space int  n  )  const
 

Referenced by CollisionTraverser::r_traverse().

INLINE const GeometricBoundingVolume* CollisionLevelState::get_local_bound int  n  )  const
 

Referenced by any_in_bounds(), apply_transform(), and CollisionTraverser::r_traverse().

INLINE ColliderMask CollisionLevelState::get_mask int  n  )  const [private]
 

Referenced by prepare_collider().

INLINE CollisionNode* CollisionLevelState::get_node int  n  )  const
 

Referenced by any_in_bounds(), and CollisionTraverser::r_traverse().

INLINE NodePath CollisionLevelState::get_node_path  )  const
 

Referenced by CollisionTraverser::r_traverse().

INLINE int CollisionLevelState::get_num_colliders  )  const
 

Referenced by any_in_bounds(), apply_transform(), and CollisionTraverser::r_traverse().

INLINE const GeometricBoundingVolume* CollisionLevelState::get_parent_bound int  n  )  const
 

Referenced by CollisionTraverser::r_traverse().

INLINE const LMatrix4f& CollisionLevelState::get_space int  n  )  const
 

Referenced by CollisionTraverser::r_traverse().

INLINE bool CollisionLevelState::has_any_collide_geom  )  const
 

Referenced by CollisionTraverser::r_traverse().

INLINE bool CollisionLevelState::has_any_collider  )  const
 

Referenced by any_in_bounds().

INLINE bool CollisionLevelState::has_collider int  n  )  const
 

Referenced by any_in_bounds(), apply_transform(), and CollisionTraverser::r_traverse().

INLINE bool CollisionLevelState::has_collider_with_geom int  n  )  const
 

Referenced by CollisionTraverser::r_traverse().

INLINE PandaNode* CollisionLevelState::node  )  const
 

Referenced by any_in_bounds(), apply_transform(), and CollisionTraverser::r_traverse().

INLINE void CollisionLevelState::omit_collider int  n  ) 
 

Referenced by any_in_bounds().

void CollisionLevelState::prepare_collider const ColliderDef def  ) 
 

Definition at line 55 of file collisionLevelState.cxx.

References CollisionLevelState::ColliderDef::_collider, _colliders, _colliders_with_geom, _current, _local_bounds, CollisionLevelState::ColliderDef::_node, _parent_bounds, CollisionLevelState::ColliderDef::_space, DCAST_INTO_V, GeometricBoundingVolume::extend_by(), BoundedObject::get_bound(), GeometricBoundingVolume::get_class_type(), CollisionNode::get_collide_geom(), get_mask(), CollisionNode::get_velocity(), CollisionNode::has_velocity(), index, TypedObject::is_of_type(), BoundingVolume::make_copy(), NULL, and GeometricBoundingVolume::xform().

Referenced by CollisionTraverser::prepare_colliders().

typedef CollisionLevelState::PTA CPT(GeometricBoundingVolume  )  [private]
 

typedef CollisionLevelState::PTA ColliderDef   )  [private]
 

INLINE void CollisionLevelState::reached_collision_node  ) 
 

Referenced by CollisionTraverser::r_traverse().

void CollisionLevelState::reserve int  max_colliders  ) 
 

Definition at line 43 of file collisionLevelState.cxx.

References _colliders, and _local_bounds.

Referenced by CollisionTraverser::prepare_colliders().


Member Data Documentation

Colliders CollisionLevelState::_colliders [private]
 

Definition at line 95 of file collisionLevelState.h.

Referenced by clear(), prepare_collider(), and reserve().

ColliderMask CollisionLevelState::_colliders_with_geom [private]
 

Definition at line 97 of file collisionLevelState.h.

Referenced by clear(), and prepare_collider().

ColliderMask CollisionLevelState::_current [private]
 

Definition at line 96 of file collisionLevelState.h.

Referenced by clear(), and prepare_collider().

BoundingVolumes CollisionLevelState::_local_bounds [private]
 

Definition at line 100 of file collisionLevelState.h.

Referenced by apply_transform(), clear(), prepare_collider(), and reserve().

WorkingNodePath CollisionLevelState::_node_path [private]
 

Definition at line 92 of file collisionLevelState.h.

Referenced by any_in_bounds().

BoundingVolumes CollisionLevelState::_parent_bounds [private]
 

Definition at line 101 of file collisionLevelState.h.

Referenced by apply_transform(), clear(), and prepare_collider().


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