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

CollisionNode Class Reference

#include <collisionNode.h>

Inheritance diagram for CollisionNode:

PandaNode TypedWritable Namable BoundedObject ReferenceCount TypedObject List of all members.

Public Member Functions

virtual ~CollisionNode ()
virtual PandaNodemake_copy () const
virtual bool preserve_name () const
virtual void xform (const LMatrix4f &mat)
virtual PandaNodecombine_with (PandaNode *other)
virtual bool has_cull_callback () const
virtual bool cull_callback (CullTraverser *trav, CullTraverserData &data)
virtual void output (ostream &out) const
INLINE void set_from_collide_mask (CollideMask mask)
INLINE void set_into_collide_mask (CollideMask mask)
INLINE CollideMask get_from_collide_mask () const
INLINE CollideMask get_into_collide_mask () const
INLINE void set_collide_geom (bool flag)
INLINE bool get_collide_geom () const
INLINE int get_num_solids () const
INLINE CollisionSolidget_solid (int n) const
INLINE void remove_solid (int n)
INLINE int add_solid (CollisionSolid *solid)
virtual void set_velocity (const LVector3f &vel)
INLINE void clear_velocity ()
INLINE bool has_velocity () const
INLINE const LVector3f & get_velocity () const
virtual void write_datagram (BamWriter *manager, Datagram &dg)
virtual int complete_pointers (TypedWritable **plist, BamReader *manager)
virtual TypeHandle get_type (void) const
virtual TypeHandle force_init_type ()

Static Public Member Functions

void register_with_read_factory ()
TypeHandle get_class_type (void)
void init_type (void)

Public Attributes

PUBLISHED __pad1__: INLINE void set_collide_mask(CollideMask mask)

Protected Member Functions

 CollisionNode (const CollisionNode &copy)
virtual BoundingVolumerecompute_bound ()
virtual BoundingVolumerecompute_internal_bound ()
void fillin (DatagramIterator &scan, BamReader *manager)

Static Protected Member Functions

TypedWritablemake_from_bam (const FactoryParams &params)

Private Types

typedef pvector< PT(CollisionSolidSolids )
enum  Flags { F_collide_geom = 0x0001, F_has_velocity = 0x0002 }

Private Member Functions

 CPT (RenderState) get_last_pos_state()

Private Attributes

PUBLISHED __pad0__: CollisionNode(const string &name)
CollideMask _from_collide_mask
CollideMask _into_collide_mask
LVector3f _velocity
int _flags
Solids _solids

Static Private Attributes

TypeHandle _type_handle

Member Typedef Documentation

typedef pvector< PT(CollisionSolid) CollisionNode::Solids) [private]
 

Definition at line 97 of file collisionNode.h.


Member Enumeration Documentation

enum CollisionNode::Flags [private]
 

Enumeration values:
F_collide_geom 
F_has_velocity 

Reimplemented from BoundedObject.

Definition at line 90 of file collisionNode.h.


Constructor & Destructor Documentation

CollisionNode::CollisionNode const CollisionNode &  copy  )  [protected]
 

Definition at line 60 of file collisionNode.cxx.

Referenced by make_copy(), and make_from_bam().

CollisionNode::~CollisionNode  )  [virtual]
 

Definition at line 76 of file collisionNode.cxx.


Member Function Documentation

INLINE int CollisionNode::add_solid CollisionSolid solid  ) 
 

Referenced by EggLoader::create_collision_polygons(), EggLoader::make_collision_plane(), and EggLoader::make_collision_sphere().

INLINE void CollisionNode::clear_velocity  ) 
 

Referenced by CollisionTraverser::traverse().

PandaNode * CollisionNode::combine_with PandaNode other  )  [virtual]
 

Reimplemented from PandaNode.

Definition at line 151 of file collisionNode.cxx.

References _solids, PandaNode::combine_with(), DCAST, get_class_type(), Namable::get_name(), TypedObject::is_exact_type(), BoundedObject::mark_bound_stale(), NULL, and PandaNode::PT().

int CollisionNode::complete_pointers TypedWritable **  plist,
BamReader manager
[virtual]
 

Reimplemented from TypedWritable.

Definition at line 406 of file collisionNode.cxx.

References _solids, TypedWritable::complete_pointers(), and DCAST.

CollisionNode::CPT RenderState   )  [private]
 

Referenced by cull_callback().

bool CollisionNode::cull_callback CullTraverser trav,
CullTraverserData data
[virtual]
 

Reimplemented from PandaNode.

Definition at line 206 of file collisionNode.cxx.

References _solids, CPT(), data, get_velocity(), CollisionSolid::get_viz(), has_velocity(), transform, and CullTraverser::traverse().

void CollisionNode::fillin DatagramIterator scan,
BamReader manager
[protected]
 

Reimplemented from PandaNode.

Definition at line 445 of file collisionNode.cxx.

References _flags, _from_collide_mask, _into_collide_mask, _solids, PandaNode::fillin(), DatagramIterator::get_uint16(), DatagramIterator::get_uint32(), DatagramIterator::get_uint8(), NULL, BamReader::read_pointer(), and BitMask< PN_uint32, 32 >::set_word().

Referenced by make_from_bam().

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

Reimplemented from PandaNode.

Definition at line 121 of file collisionNode.h.

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

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

Reimplemented from PandaNode.

Definition at line 110 of file collisionNode.h.

Referenced by DeferredNodeProperty::apply_to_node(), combine_with(), PandaFramework::hide_collision_solids(), CollisionTraverser::r_traverse(), register_with_read_factory(), and PandaFramework::show_collision_solids().

INLINE bool CollisionNode::get_collide_geom  )  const
 

Referenced by CollisionLevelState::any_in_bounds(), and CollisionLevelState::prepare_collider().

INLINE CollideMask CollisionNode::get_from_collide_mask  )  const
 

Referenced by CollisionLevelState::any_in_bounds().

INLINE CollideMask CollisionNode::get_into_collide_mask  )  const
 

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

INLINE int CollisionNode::get_num_solids  )  const
 

Referenced by CollisionTraverser::compare_collider_to_node(), CollisionTraverser::prepare_colliders(), and CollisionTraverser::write().

INLINE CollisionSolid* CollisionNode::get_solid int  n  )  const
 

Referenced by CollisionTraverser::compare_collider_to_node(), CollisionTraverser::prepare_colliders(), and CollisionTraverser::write().

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

Reimplemented from PandaNode.

Definition at line 118 of file collisionNode.h.

References PandaNode::get_class_type().

INLINE const LVector3f& CollisionNode::get_velocity  )  const
 

Referenced by cull_callback(), and CollisionLevelState::prepare_collider().

bool CollisionNode::has_cull_callback  )  const [virtual]
 

Reimplemented from PandaNode.

Definition at line 182 of file collisionNode.cxx.

INLINE bool CollisionNode::has_velocity  )  const
 

Referenced by cull_callback(), and CollisionLevelState::prepare_collider().

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

Reimplemented from PandaNode.

Definition at line 113 of file collisionNode.h.

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

Referenced by init_libcollide().

PandaNode * CollisionNode::make_copy  )  const [virtual]
 

Reimplemented from PandaNode.

Definition at line 88 of file collisionNode.cxx.

References CollisionNode().

TypedWritable * CollisionNode::make_from_bam const FactoryParams params  )  [static, protected]
 

Reimplemented from PandaNode.

Definition at line 426 of file collisionNode.cxx.

References CollisionNode(), fillin(), params, and parse_params().

Referenced by register_with_read_factory().

void CollisionNode::output ostream &  out  )  const [virtual]
 

Reimplemented from PandaNode.

Definition at line 251 of file collisionNode.cxx.

References _solids, and PandaNode::output().

bool CollisionNode::preserve_name  )  const [virtual]
 

Reimplemented from PandaNode.

Definition at line 100 of file collisionNode.cxx.

BoundingVolume * CollisionNode::recompute_bound  )  [protected, virtual]
 

Reimplemented from PandaNode.

Definition at line 293 of file collisionNode.cxx.

References PandaNode::add_net_collide_mask(), get_into_collide_mask(), and PandaNode::recompute_bound().

BoundingVolume * CollisionNode::recompute_internal_bound  )  [protected, virtual]
 

Reimplemented from PandaNode.

Definition at line 308 of file collisionNode.cxx.

References _solids, BoundingVolume::around(), BoundingVolume::get_type(), NULL, and PandaNode::recompute_internal_bound().

void CollisionNode::register_with_read_factory  )  [static]
 

Reimplemented from PandaNode.

Definition at line 373 of file collisionNode.cxx.

References get_class_type(), BamReader::get_factory(), make_from_bam(), and Factory< TypedWritable >::register_factory().

Referenced by init_libcollide().

INLINE void CollisionNode::remove_solid int  n  ) 
 

INLINE void CollisionNode::set_collide_geom bool  flag  ) 
 

INLINE void CollisionNode::set_from_collide_mask CollideMask  mask  ) 
 

Referenced by DeferredNodeProperty::apply_to_node().

INLINE void CollisionNode::set_into_collide_mask CollideMask  mask  ) 
 

Referenced by DeferredNodeProperty::apply_to_node().

void CollisionNode::set_velocity const LVector3f &  vel  )  [virtual]
 

Reimplemented from PandaNode.

Definition at line 277 of file collisionNode.cxx.

References _flags, _velocity, and F_has_velocity.

void CollisionNode::write_datagram BamWriter manager,
Datagram dg
[virtual]
 

Reimplemented from PandaNode.

Definition at line 384 of file collisionNode.cxx.

References _flags, _from_collide_mask, _into_collide_mask, _solids, Datagram::add_uint16(), Datagram::add_uint32(), Datagram::add_uint8(), BitMask< PN_uint32, 32 >::get_word(), PandaNode::write_datagram(), and BamWriter::write_pointer().

void CollisionNode::xform const LMatrix4f &  mat  )  [virtual]
 

Reimplemented from PandaNode.

Definition at line 112 of file collisionNode.cxx.

References _solids, CollisionSolid::make_copy(), BoundedObject::mark_bound_stale(), and CollisionSolid::xform().


Member Data Documentation

PUBLISHED CollisionNode::__pad0__ [private]
 

Reimplemented from PandaNode.

Definition at line 39 of file collisionNode.h.

PUBLISHED CollisionNode::__pad1__
 

Reimplemented from PandaNode.

Definition at line 57 of file collisionNode.h.

int CollisionNode::_flags [private]
 

Definition at line 95 of file collisionNode.h.

Referenced by fillin(), set_velocity(), and write_datagram().

CollideMask CollisionNode::_from_collide_mask [private]
 

Definition at line 86 of file collisionNode.h.

Referenced by fillin(), and write_datagram().

CollideMask CollisionNode::_into_collide_mask [private]
 

Definition at line 87 of file collisionNode.h.

Referenced by fillin(), and write_datagram().

Solids CollisionNode::_solids [private]
 

Definition at line 98 of file collisionNode.h.

Referenced by combine_with(), complete_pointers(), cull_callback(), fillin(), output(), recompute_internal_bound(), write_datagram(), and xform().

TypeHandle CollisionNode::_type_handle [static, private]
 

Reimplemented from PandaNode.

Definition at line 34 of file collisionNode.cxx.

LVector3f CollisionNode::_velocity [private]
 

Definition at line 88 of file collisionNode.h.

Referenced by set_velocity().


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