Public Member Functions |
|
| CollisionTube (const LPoint3 &a, const LPoint3 &db, PN_stdfloat radius) |
|
| CollisionTube (PN_stdfloat ax, PN_stdfloat ay, PN_stdfloat az, PN_stdfloat bx, PN_stdfloat by, PN_stdfloat bz, PN_stdfloat radius) |
|
| CollisionTube (const CollisionTube ©) |
|
virtual TypeHandle | force_init_type () |
| virtual LPoint3 | get_collision_origin () const |
| | Returns the point in space deemed to be the "origin" of the solid for collision purposes.
|
|
const LPoint3 & | get_point_a () const |
|
const LPoint3 & | get_point_b () const |
|
PN_stdfloat | get_radius () const |
| virtual PStatCollector & | get_test_pcollector () |
| | Returns a PStatCollector that is used to count the number of intersection tests made against a solid of this type in a given frame.
|
|
virtual TypeHandle | get_type () const |
| virtual PStatCollector & | get_volume_pcollector () |
| | Returns a PStatCollector that is used to count the number of bounding volume tests made against a solid of this type in a given frame.
|
|
virtual CollisionSolid * | make_copy () |
|
virtual void | output (ostream &out) const |
|
void | set_point_a (const LPoint3 &a) |
|
void | set_point_a (PN_stdfloat x, PN_stdfloat y, PN_stdfloat z) |
|
void | set_point_b (const LPoint3 &b) |
|
void | set_point_b (PN_stdfloat x, PN_stdfloat y, PN_stdfloat z) |
|
void | set_radius (PN_stdfloat radius) |
| virtual void | write_datagram (BamWriter *manager, Datagram &dg) |
| | Writes the contents of this object to the datagram for shipping out to a Bam file.
|
| virtual void | xform (const LMatrix4 &mat) |
| | Transforms the solid by the indicated matrix.
|
Static Public Member Functions |
| static void | flush_level () |
| | Flushes the PStatCollectors used during traversal.
|
|
static TypeHandle | get_class_type () |
|
static void | init_type () |
| static void | register_with_read_factory () |
| | Tells the BamReader how to create objects of type CollisionTube.
|
Protected Member Functions |
| virtual void | fill_viz_geom () |
| | Fills the _viz_geom GeomNode up with Geoms suitable for rendering this solid.
|
| void | fillin (DatagramIterator &scan, BamReader *manager) |
| | This internal function is called by make_from_bam to read in all of the relevant data from the BamFile for the new CollisionTube.
|
|
virtual | PT (BoundingVolume) compute_internal_bounds() const |
|
virtual | PT (CollisionEntry) test_intersection_from_sphere(const CollisionEntry &entry) const |
|
virtual | PT (CollisionEntry) test_intersection_from_line(const CollisionEntry &entry) const |
|
virtual | PT (CollisionEntry) test_intersection_from_ray(const CollisionEntry &entry) const |
|
virtual | PT (CollisionEntry) test_intersection_from_segment(const CollisionEntry &entry) const |
|
virtual | PT (CollisionEntry) test_intersection_from_parabola(const CollisionEntry &entry) const |
Static Protected Member Functions |
| static TypedWritable * | make_from_bam (const FactoryParams ¶ms) |
| | This function is called by the BamReader's factory when a new object of type CollisionTube is encountered in the Bam file.
|
This implements a solid roughly in cylindrical shape.
It's not called a CollisionCylinder because it's not a true cylinder; specifically, it has rounded ends instead of flat ends. It looks more like a Contac pill.
Definition at line 30 of file collisionTube.h.