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

CollisionSolid Class Reference

#include <collisionSolid.h>

Inheritance diagram for CollisionSolid:

TypedWritableReferenceCount BoundedObject TypedWritable ReferenceCount TypedObject CollisionPlane CollisionRay CollisionSegment CollisionSphere CollisionPolygon List of all members.

Public Member Functions

 CollisionSolid ()
 CollisionSolid (const CollisionSolid &copy)
virtual ~CollisionSolid ()
virtual CollisionSolid * make_copy ()=0
virtual LPoint3f get_collision_origin () const=0
INLINE bool is_tangible () const
virtual PT (CollisionEntry) test_intersection(const CollisionEn &entry) const
virtual void xform (const LMatrix4f &mat)=0
GeomNodeget_viz () const
virtual void write (ostream &out, int indent_level=0) const
virtual void write_datagram (BamWriter *manager, Datagram &me)
virtual TypeHandle get_type () const
virtual TypeHandle force_init_type ()

Static Public Member Functions

TypeHandle get_class_type ()
void init_type ()

Public Attributes

PUBLISHED __pad0__: INLINE void set_tangible(bool tangible)
PUBLISHED __pad1__: virtual void output(ostream &out) const

Protected Member Functions

virtual PT (CollisionEntry) test_intersection_from_sphere(const CollisionEn &entry) const
virtual PT (CollisionEntry) test_intersection_from_ray(const CollisionEn &entry) const
virtual PT (CollisionEntry) test_intersection_from_segment(const CollisionEn &entry) const
INLINE void mark_viz_stale ()
virtual void fill_viz_geom ()
 CPT (RenderState) get_solid_viz_state()
 CPT (RenderState) get_wireframe_viz_state()
 CPT (RenderState) get_other_viz_state()
 PT (GeomNode) _viz_geom
void fillin (DatagramIterator &scan, BamReader *manager)

Static Protected Member Functions

void report_undefined_intersection_test (TypeHandle from_type, TypeHandle into_type)
void report_undefined_from_intersection (TypeHandle from_type)

Protected Attributes

bool _viz_geom_stale
bool _tangible

Static Private Attributes

TypeHandle _type_handle

Friends

class CollisionSphere
class CollisionRay
class CollisionSegment

Constructor & Destructor Documentation

CollisionSolid::CollisionSolid  ) 
 

Definition at line 45 of file collisionSolid.cxx.

References _tangible, and _viz_geom_stale.

CollisionSolid::CollisionSolid const CollisionSolid &  copy  ) 
 

Definition at line 56 of file collisionSolid.cxx.

References _viz_geom_stale.

CollisionSolid::~CollisionSolid  )  [virtual]
 

Definition at line 69 of file collisionSolid.cxx.


Member Function Documentation

CollisionSolid::CPT RenderState   )  [protected]
 

CollisionSolid::CPT RenderState   )  [protected]
 

CollisionSolid::CPT RenderState   )  [protected]
 

void CollisionSolid::fill_viz_geom  )  [protected, virtual]
 

Reimplemented in CollisionPlane, CollisionPolygon, CollisionRay, CollisionSegment, and CollisionSphere.

Definition at line 276 of file collisionSolid.cxx.

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

Reimplemented from TypedWritable.

Reimplemented in CollisionPlane, CollisionPolygon, CollisionRay, CollisionSegment, and CollisionSphere.

Definition at line 263 of file collisionSolid.cxx.

References _tangible, and DatagramIterator::get_uint8().

Referenced by CollisionSphere::fillin(), CollisionSegment::fillin(), CollisionRay::fillin(), and CollisionPlane::fillin().

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

Reimplemented from TypedWritableReferenceCount.

Reimplemented in CollisionPlane, CollisionPolygon, CollisionRay, CollisionSegment, and CollisionSphere.

Definition at line 119 of file collisionSolid.h.

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

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

Reimplemented from BoundedObject.

Reimplemented in CollisionPlane, CollisionPolygon, CollisionRay, CollisionSegment, and CollisionSphere.

Definition at line 106 of file collisionSolid.h.

Referenced by CollisionSphere::force_init_type(), CollisionSegment::force_init_type(), CollisionRay::force_init_type(), CollisionPlane::force_init_type(), CollisionSphere::get_type(), CollisionSegment::get_type(), CollisionRay::get_type(), CollisionPlane::get_type(), CollisionSphere::init_type(), CollisionSegment::init_type(), CollisionRay::init_type(), and CollisionPlane::init_type().

virtual LPoint3f CollisionSolid::get_collision_origin  )  const [pure virtual]
 

Implemented in CollisionPlane, CollisionPolygon, CollisionRay, CollisionSegment, and CollisionSphere.

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

Reimplemented from TypedWritableReferenceCount.

Reimplemented in CollisionPlane, CollisionPolygon, CollisionRay, CollisionSegment, and CollisionSphere.

Definition at line 116 of file collisionSolid.h.

References BoundedObject::get_class_type().

GeomNode * CollisionSolid::get_viz  )  const
 

Definition at line 96 of file collisionSolid.cxx.

References NULL.

Referenced by CollisionNode::cull_callback().

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

Reimplemented from BoundedObject.

Reimplemented in CollisionPlane, CollisionPolygon, CollisionRay, CollisionSegment, and CollisionSphere.

Definition at line 109 of file collisionSolid.h.

References BoundedObject::get_class_type(), ReferenceCount::get_class_type(), BoundedObject::init_type(), TypedWritableReferenceCount::init_type(), and register_type().

Referenced by CollisionSphere::force_init_type(), CollisionSegment::force_init_type(), CollisionRay::force_init_type(), CollisionPlane::force_init_type(), init_libcollide(), CollisionSphere::init_type(), CollisionSegment::init_type(), CollisionRay::init_type(), and CollisionPlane::init_type().

INLINE bool CollisionSolid::is_tangible  )  const
 

Referenced by CollisionHandlerPhysical::add_entry(), and CollisionHandlerEvent::throw_event_pattern().

virtual CollisionSolid* CollisionSolid::make_copy  )  [pure virtual]
 

Implemented in CollisionPlane, CollisionPolygon, CollisionRay, CollisionSegment, and CollisionSphere.

Referenced by CollisionNode::xform().

INLINE void CollisionSolid::mark_viz_stale  )  [protected]
 

Referenced by CollisionSegment::set_from_lens(), CollisionRay::set_from_lens(), CollisionSphere::xform(), CollisionSegment::xform(), CollisionRay::xform(), CollisionPolygon::xform(), and CollisionPlane::xform().

CollisionSolid::PT GeomNode   )  [protected]
 

virtual CollisionSolid::PT CollisionEntry   )  const [protected, virtual]
 

Reimplemented in CollisionPlane, CollisionPlane, CollisionPolygon, CollisionPolygon, CollisionPolygon, CollisionRay, CollisionSegment, CollisionSphere, CollisionSphere, CollisionSphere, and CollisionSphere.

virtual CollisionSolid::PT CollisionEntry   )  const [protected, virtual]
 

Reimplemented in CollisionPlane, CollisionPlane, CollisionPolygon, CollisionPolygon, CollisionPolygon, CollisionRay, CollisionSegment, CollisionSphere, CollisionSphere, CollisionSphere, and CollisionSphere.

virtual CollisionSolid::PT CollisionEntry   )  const [protected, virtual]
 

Reimplemented in CollisionPlane, CollisionPlane, CollisionPolygon, CollisionPolygon, CollisionPolygon, CollisionRay, CollisionSegment, CollisionSphere, CollisionSphere, CollisionSphere, and CollisionSphere.

virtual CollisionSolid::PT CollisionEntry   )  const [virtual]
 

Reimplemented in CollisionPlane, CollisionPlane, CollisionPolygon, CollisionPolygon, CollisionPolygon, CollisionRay, CollisionSegment, CollisionSphere, CollisionSphere, CollisionSphere, and CollisionSphere.

void CollisionSolid::report_undefined_from_intersection TypeHandle  from_type  )  [static, protected]
 

Definition at line 225 of file collisionSolid.cxx.

void CollisionSolid::report_undefined_intersection_test TypeHandle  from_type,
TypeHandle  into_type
[static, protected]
 

Definition at line 197 of file collisionSolid.cxx.

void CollisionSolid::write ostream &  out,
int  indent_level = 0
const [virtual]
 

Definition at line 125 of file collisionSolid.cxx.

References indent().

Referenced by CollisionTraverser::write().

void CollisionSolid::write_datagram BamWriter manager,
Datagram me
[virtual]
 

Implements TypedWritableReferenceCount.

Reimplemented in CollisionPlane, CollisionPolygon, CollisionRay, CollisionSegment, and CollisionSphere.

Definition at line 249 of file collisionSolid.cxx.

References _tangible, and Datagram::add_uint8().

Referenced by CollisionSphere::write_datagram(), CollisionSegment::write_datagram(), CollisionRay::write_datagram(), and CollisionPlane::write_datagram().

virtual void CollisionSolid::xform const LMatrix4f &  mat  )  [pure virtual]
 

Implemented in CollisionPlane, CollisionPolygon, CollisionRay, CollisionSegment, and CollisionSphere.

Referenced by CollisionNode::xform().


Friends And Related Function Documentation

friend class CollisionRay [friend]
 

Definition at line 125 of file collisionSolid.h.

friend class CollisionSegment [friend]
 

Definition at line 126 of file collisionSolid.h.

friend class CollisionSphere [friend]
 

Definition at line 124 of file collisionSolid.h.


Member Data Documentation

PUBLISHED CollisionSolid::__pad0__
 

Reimplemented from BoundedObject.

Reimplemented in CollisionPlane, CollisionPolygon, CollisionRay, CollisionSegment, and CollisionSphere.

Definition at line 61 of file collisionSolid.h.

PUBLISHED CollisionSolid::__pad1__
 

Reimplemented in CollisionPlane, CollisionRay, CollisionSegment, and CollisionSphere.

Definition at line 73 of file collisionSolid.h.

bool CollisionSolid::_tangible [protected]
 

Definition at line 97 of file collisionSolid.h.

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

TypeHandle CollisionSolid::_type_handle [static, private]
 

Reimplemented from BoundedObject.

Reimplemented in CollisionPlane, CollisionPolygon, CollisionRay, CollisionSegment, and CollisionSphere.

Definition at line 37 of file collisionSolid.cxx.

bool CollisionSolid::_viz_geom_stale [protected]
 

Definition at line 96 of file collisionSolid.h.

Referenced by CollisionSolid().


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