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

CollisionSphere Class Reference

#include <collisionSphere.h>

Inheritance diagram for CollisionSphere:

CollisionSolid TypedWritableReferenceCount BoundedObject TypedWritable ReferenceCount TypedObject List of all members.

Public Member Functions

INLINE CollisionSphere (const CollisionSphere &copy)
virtual CollisionSolidmake_copy ()
virtual PT (CollisionEntry) test_intersection(const CollisionEn &entry) const
virtual void xform (const LMatrix4f &mat)
virtual LPoint3f get_collision_origin () const
virtual void output (ostream &out) const
INLINE void set_center (float x, float y, float z)
INLINE const LPoint3f & get_center () const
INLINE void set_radius (float radius)
INLINE float get_radius () const
virtual void write_datagram (BamWriter *manager, Datagram &me)
virtual TypeHandle get_type () const
virtual TypeHandle force_init_type ()

Static Public Member Functions

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

Public Attributes

PUBLISHED __pad1__: INLINE void set_center(const LPoint3f &center)

Protected Member Functions

INLINE CollisionSphere (void)
virtual BoundingVolumerecompute_bound ()
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
virtual void fill_viz_geom ()
bool intersects_line (double &t1, double &t2, const LPoint3f &from, const LVector3f &delta) const
void fillin (DatagramIterator &scan, BamReader *manager)

Static Protected Member Functions

TypedWritablemake_CollisionSphere (const FactoryParams &params)

Private Member Functions

INLINE CollisionSphere (float cx, float cy, float cz, float radius)

Private Attributes

PUBLISHED __pad0__: INLINE CollisionSphere(const LPoint3f &center
PUBLISHED float radius
LPoint3f _center
float _radius

Static Private Attributes

TypeHandle _type_handle

Constructor & Destructor Documentation

INLINE CollisionSphere::CollisionSphere float  cx,
float  cy,
float  cz,
float  radius
[private]
 

INLINE CollisionSphere::CollisionSphere const CollisionSphere &  copy  ) 
 

INLINE CollisionSphere::CollisionSphere void   )  [protected]
 

Referenced by make_copy().


Member Function Documentation

void CollisionSphere::fill_viz_geom  )  [protected, virtual]
 

Reimplemented from CollisionSolid.

Definition at line 261 of file collisionSphere.cxx.

References _center, _radius, PointerToArray< Vertexf >::push_back(), Geom::set_coords(), and Geom::set_num_prims().

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

Reimplemented from CollisionSolid.

Definition at line 400 of file collisionSphere.cxx.

References _center, _radius, CollisionSolid::fillin(), and DatagramIterator::get_float32().

Referenced by make_CollisionSphere().

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

Reimplemented from CollisionSolid.

Definition at line 96 of file collisionSphere.h.

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

INLINE const LPoint3f& CollisionSphere::get_center  )  const
 

Referenced by get_collision_origin(), and PT().

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

Reimplemented from CollisionSolid.

Definition at line 85 of file collisionSphere.h.

Referenced by register_with_read_factory().

LPoint3f CollisionSphere::get_collision_origin  )  const [virtual]
 

Implements CollisionSolid.

Definition at line 84 of file collisionSphere.cxx.

References get_center().

INLINE float CollisionSphere::get_radius  )  const
 

Referenced by PT().

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

Reimplemented from CollisionSolid.

Definition at line 93 of file collisionSphere.h.

References CollisionSolid::get_class_type().

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

Reimplemented from CollisionSolid.

Definition at line 88 of file collisionSphere.h.

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

Referenced by init_libcollide().

bool CollisionSphere::intersects_line double &  t1,
double &  t2,
const LPoint3f &  from,
const LVector3f &  delta
const [protected]
 

Definition at line 291 of file collisionSphere.cxx.

References _center, _radius, dot(), and IS_NEARLY_ZERO.

TypedWritable * CollisionSphere::make_CollisionSphere const FactoryParams params  )  [static, protected]
 

Definition at line 381 of file collisionSphere.cxx.

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

Referenced by register_with_read_factory().

CollisionSolid * CollisionSphere::make_copy  )  [virtual]
 

Implements CollisionSolid.

Definition at line 43 of file collisionSphere.cxx.

References CollisionSphere().

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

Definition at line 94 of file collisionSphere.cxx.

References _center, and _radius.

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

Reimplemented from CollisionSolid.

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

Reimplemented from CollisionSolid.

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

Reimplemented from CollisionSolid.

virtual CollisionSphere::PT CollisionEntry   )  const [virtual]
 

Reimplemented from CollisionSolid.

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

Reimplemented from BoundedObject.

Definition at line 104 of file collisionSphere.cxx.

References _center, _radius, cnan(), BoundingVolume::extend_by(), and BoundedObject::recompute_bound().

void CollisionSphere::register_with_read_factory  )  [static]
 

Definition at line 358 of file collisionSphere.cxx.

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

Referenced by init_libcollide().

INLINE void CollisionSphere::set_center float  x,
float  y,
float  z
 

INLINE void CollisionSphere::set_radius float  radius  ) 
 

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

Reimplemented from CollisionSolid.

Definition at line 369 of file collisionSphere.cxx.

References _center, _radius, Datagram::add_float32(), and CollisionSolid::write_datagram().

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

Implements CollisionSolid.

Definition at line 63 of file collisionSphere.cxx.

References _center, _radius, length(), BoundedObject::mark_bound_stale(), and CollisionSolid::mark_viz_stale().


Member Data Documentation

PUBLISHED CollisionSphere::__pad0__ [private]
 

Reimplemented from CollisionSolid.

Definition at line 32 of file collisionSphere.h.

PUBLISHED CollisionSphere::__pad1__
 

Reimplemented from CollisionSolid.

Definition at line 48 of file collisionSphere.h.

LPoint3f CollisionSphere::_center [private]
 

Definition at line 73 of file collisionSphere.h.

Referenced by fill_viz_geom(), fillin(), intersects_line(), output(), recompute_bound(), write_datagram(), and xform().

float CollisionSphere::_radius [private]
 

Definition at line 74 of file collisionSphere.h.

Referenced by fill_viz_geom(), fillin(), intersects_line(), output(), recompute_bound(), write_datagram(), and xform().

TypeHandle CollisionSphere::_type_handle [static, private]
 

Reimplemented from CollisionSolid.

Definition at line 35 of file collisionSphere.cxx.

PUBLISHED float CollisionSphere::radius [private]
 

Definition at line 32 of file collisionSphere.h.


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