Panda3D
Public Member Functions | Static Public Member Functions | Protected Member Functions

CollisionPlane Class Reference

Inheritance diagram for CollisionPlane:
CollisionSolid CopyOnWriteObject CachedTypedWritableReferenceCount TypedWritableReferenceCount TypedWritable ReferenceCount TypedObject MemoryBase MemoryBase CollisionPolygon CollisionGeom

List of all members.

Public Member Functions

 CollisionPlane (const LPlane &plane)
 CollisionPlane (const CollisionPlane &copy)
PN_stdfloat dist_to_plane (const LPoint3 &point) const
void flip ()
 Convenience method to flip the plane in-place.
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.
LVector3 get_normal () const
const LPlane & get_plane () const
virtual PStatCollectorget_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 PStatCollectorget_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 CollisionSolidmake_copy ()
virtual void output (ostream &out) const
void set_plane (const LPlane &plane)
virtual void write_datagram (BamWriter *manager, Datagram &me)
 Function to write the important information in the particular object to a Datagram.
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 TypedWritablemake_CollisionPlane (const FactoryParams &params)
 Factory method to generate a CollisionPlane object.
static void register_with_read_factory ()
 Factory method to generate a CollisionPlane object.

Protected Member Functions

 CollisionPlane ()
 This is only for the convenience of CollisionPolygon.
virtual void fill_viz_geom ()
 Fills the _viz_geom GeomNode up with Geoms suitable for rendering this solid.
void fillin (DatagramIterator &scan, BamReader *manager)
 Function that reads out of the datagram (or asks manager to read) all of the data that is needed to re-create this object and stores it in the appropiate place.
virtual PT (CollisionEntry) test_intersection_from_parabola(const CollisionEntry &entry) const
virtual PT (CollisionEntry) test_intersection_from_segment(const CollisionEntry &entry) const
virtual PT (CollisionEntry) test_intersection_from_ray(const CollisionEntry &entry) const
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

Detailed Description

Definition at line 29 of file collisionPlane.h.


Constructor & Destructor Documentation

CollisionPlane::CollisionPlane ( ) [inline, protected]

This is only for the convenience of CollisionPolygon.

Normally, you should not attempt to create an uninitialized CollisionPlane.

Definition at line 24 of file collisionPlane.I.

Referenced by make_CollisionPlane().


Member Function Documentation

void CollisionPlane::fill_viz_geom ( ) [protected, virtual]

Fills the _viz_geom GeomNode up with Geoms suitable for rendering this solid.

Reimplemented from CollisionSolid.

Reimplemented in CollisionPolygon.

Definition at line 399 of file collisionPlane.cxx.

References GeomVertexWriter::add_data3(), GeomVertexFormat::get_v3(), and LVecBase3f::normalize().

void CollisionPlane::fillin ( DatagramIterator scan,
BamReader manager 
) [protected, virtual]

Function that reads out of the datagram (or asks manager to read) all of the data that is needed to re-create this object and stores it in the appropiate place.

Reimplemented from CollisionSolid.

Reimplemented in CollisionPolygon.

Definition at line 502 of file collisionPlane.cxx.

Referenced by make_CollisionPlane().

void CollisionPlane::flip ( ) [inline]

Convenience method to flip the plane in-place.

Definition at line 109 of file collisionPlane.I.

void CollisionPlane::flush_level ( ) [inline, static]

Flushes the PStatCollectors used during traversal.

Reimplemented in CollisionPolygon.

Definition at line 56 of file collisionPlane.I.

LPoint3 CollisionPlane::get_collision_origin ( ) const [virtual]

Returns the point in space deemed to be the "origin" of the solid for collision purposes.

The closest intersection point to this origin point is considered to be the most significant.

Implements CollisionSolid.

Reimplemented in CollisionPolygon.

Definition at line 71 of file collisionPlane.cxx.

References LPoint3f::origin().

PStatCollector & CollisionPlane::get_test_pcollector ( ) [virtual]

Returns a PStatCollector that is used to count the number of intersection tests made against a solid of this type in a given frame.

Reimplemented from CollisionSolid.

Reimplemented in CollisionGeom, and CollisionPolygon.

Definition at line 98 of file collisionPlane.cxx.

PStatCollector & CollisionPlane::get_volume_pcollector ( ) [virtual]

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.

Reimplemented from CollisionSolid.

Reimplemented in CollisionGeom, and CollisionPolygon.

Definition at line 86 of file collisionPlane.cxx.

TypedWritable * CollisionPlane::make_CollisionPlane ( const FactoryParams params) [static]

Factory method to generate a CollisionPlane object.

Definition at line 514 of file collisionPlane.cxx.

References CollisionPlane(), and fillin().

Referenced by register_with_read_factory().

void CollisionPlane::register_with_read_factory ( ) [static]

Factory method to generate a CollisionPlane object.

Reimplemented in CollisionPolygon.

Definition at line 531 of file collisionPlane.cxx.

References BamReader::get_factory(), make_CollisionPlane(), and Factory< Type >::register_factory().

void CollisionPlane::write_datagram ( BamWriter manager,
Datagram me 
) [virtual]

Function to write the important information in the particular object to a Datagram.

Reimplemented from CollisionSolid.

Reimplemented in CollisionPolygon.

Definition at line 487 of file collisionPlane.cxx.

void CollisionPlane::xform ( const LMatrix4 mat) [virtual]

Transforms the solid by the indicated matrix.

Reimplemented from CollisionSolid.

Reimplemented in CollisionPolygon.

Definition at line 57 of file collisionPlane.cxx.


The documentation for this class was generated from the following files:
 All Classes Functions Variables Enumerations