#include <collisionPolygon.h>
Inheritance diagram for CollisionPolygon:
Public Member Functions | |
CollisionPolygon (const CollisionPolygon ©) | |
virtual CollisionSolid * | make_copy () |
virtual void | xform (const LMatrix4f &mat) |
virtual LPoint3f | get_collision_origin () const |
virtual void | output (ostream &out) const |
virtual void | write_datagram (BamWriter *manager, Datagram &me) |
virtual TypeHandle | get_type () const |
virtual TypeHandle | force_init_type () |
Static Public Member Functions | |
INLINE bool | verify_points (const LPoint3f &a, const LPoint3f &b, const LPoint3f &c) |
INLINE bool | verify_points (const LPoint3f &a, const LPoint3f &b, const LPoint3f &c, const LPoint3f &d) |
bool | verify_points (const LPoint3f *begin, const LPoint3f *end) |
void | register_with_read_factory (void) |
TypedWritable * | make_CollisionPolygon (const FactoryParams ¶ms) |
TypeHandle | get_class_type () |
void | init_type () |
Protected Member Functions | |
INLINE | CollisionPolygon (void) |
virtual BoundingVolume * | recompute_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 () |
void | fillin (DatagramIterator &scan, BamReader *manager) |
Private Types | |
typedef vector_LPoint2f | Points |
enum | AxisType { AT_x, AT_y, AT_z } |
Private Member Functions | |
INLINE | CollisionPolygon (const LPoint3f &a, const LPoint3f &b, const LPoint3f &c, const LPoint3f &d) |
INLINE | CollisionPolygon (const LPoint3f *begin, const LPoint3f *end) |
bool | is_inside (const LPoint2f &p) const |
bool | is_concave () const |
void | setup_points (const LPoint3f *begin, const LPoint3f *end) |
LPoint2f | to_2d (const LPoint3f &point3d) const |
LPoint3f | to_3d (const LPoint2f &point2d) const |
Private Attributes | |
PUBLISHED | __pad0__: INLINE CollisionPolygon(const LPoint3f &a |
PUBLISHED const LPoint3f & | b |
PUBLISHED const LPoint3f const LPoint3f & | c |
Points | _points |
LPoint2f | _median |
AxisType | _axis |
bool | _reversed |
Static Private Attributes | |
TypeHandle | _type_handle |
|
Definition at line 80 of file collisionPolygon.h. |
|
Definition at line 84 of file collisionPolygon.h. Referenced by fillin(). |
|
|
|
|
|
Definition at line 60 of file collisionPolygon.cxx. |
|
Referenced by make_copy(). |
|
Reimplemented from CollisionPlane. Definition at line 479 of file collisionPolygon.cxx. References _points, PointerToArray< Vertexf >::begin(), PointerToArray< Vertexf >::end(), PointerToArray< int >::push_back(), PointerToArray< Vertexf >::push_back(), Geom::set_coords(), Geom::set_lengths(), Geom::set_num_prims(), and to_3d(). |
|
Reimplemented from CollisionPlane. Definition at line 804 of file collisionPolygon.cxx. References _axis, _median, _points, _reversed, AxisType, CollisionPlane::fillin(), DatagramIterator::get_uint16(), and DatagramIterator::get_uint8(). Referenced by make_CollisionPolygon(). |
|
Reimplemented from CollisionPlane. Definition at line 111 of file collisionPolygon.h. References CollisionPlane::get_class_type(), and CollisionPlane::init_type(). |
|
Reimplemented from CollisionPlane. Definition at line 100 of file collisionPolygon.h. Referenced by CollisionHandlerPusher::handle_entries(), and register_with_read_factory(). |
|
Reimplemented from CollisionPlane. Definition at line 172 of file collisionPolygon.cxx. References _median, and to_3d(). Referenced by CollisionHandlerPusher::handle_entries(). |
|
Reimplemented from CollisionPlane. Definition at line 108 of file collisionPolygon.h. References CollisionPlane::get_class_type(). |
|
Reimplemented from CollisionPlane. Definition at line 103 of file collisionPolygon.h. References CollisionPlane::get_class_type(), CollisionPlane::init_type(), and register_type(). Referenced by init_libcollide(). |
|
Definition at line 548 of file collisionPolygon.cxx. References _points. |
|
Definition at line 520 of file collisionPolygon.cxx. References _points, is_right(), and p. |
|
Definition at line 829 of file collisionPolygon.cxx. References fillin(), params, and parse_params(). Referenced by register_with_read_factory(). |
|
Reimplemented from CollisionPlane. Definition at line 75 of file collisionPolygon.cxx. References CollisionPolygon(). |
|
Reimplemented from CollisionPlane. Definition at line 182 of file collisionPolygon.cxx. |
|
Reimplemented from CollisionPlane. |
|
Reimplemented from CollisionPlane. |
|
Reimplemented from CollisionPlane. |
|
Reimplemented from CollisionPlane. Definition at line 192 of file collisionPolygon.cxx. References _points, GeometricBoundingVolume::around(), DCAST, BoundedObject::recompute_bound(), and to_3d(). |
|
Reimplemented from CollisionPlane. Definition at line 846 of file collisionPolygon.cxx. References get_class_type(), BamReader::get_factory(), make_CollisionPolygon(), and Factory< TypedWritable >::register_factory(). Referenced by init_libcollide(). |
|
Definition at line 588 of file collisionPolygon.cxx. References _axis, _median, _points, _reversed, AT_x, AT_y, AT_z, end, is_right(), n, CollisionPlane::set_plane(), and verify_points(). Referenced by xform(). |
|
Definition at line 717 of file collisionPolygon.cxx. |
|
Definition at line 745 of file collisionPolygon.cxx. References AT_x, AT_y, AT_z, cnan(), and CollisionPlane::get_plane(). Referenced by fill_viz_geom(), get_collision_origin(), recompute_bound(), and xform(). |
|
Definition at line 92 of file collisionPolygon.cxx. References end, and IS_THRESHOLD_EQUAL. |
|
|
|
Referenced by CollisionTraverser::compare_collider_to_geom(), and setup_points(). |
|
Reimplemented from CollisionPlane. Definition at line 780 of file collisionPolygon.cxx. References _axis, _median, _points, _reversed, Datagram::add_uint16(), Datagram::add_uint8(), and CollisionPlane::write_datagram(). |
|
Reimplemented from CollisionPlane. Definition at line 129 of file collisionPolygon.cxx. References _points, BoundedObject::mark_bound_stale(), CollisionSolid::mark_viz_stale(), setup_points(), and to_3d(). |
|
Reimplemented from CollisionPlane. Definition at line 34 of file collisionPolygon.h. |
|
Definition at line 87 of file collisionPolygon.h. Referenced by fillin(), setup_points(), and write_datagram(). |
|
Definition at line 82 of file collisionPolygon.h. Referenced by fillin(), get_collision_origin(), setup_points(), and write_datagram(). |
|
Definition at line 81 of file collisionPolygon.h. Referenced by fill_viz_geom(), fillin(), is_concave(), is_inside(), recompute_bound(), setup_points(), write_datagram(), and xform(). |
|
Definition at line 88 of file collisionPolygon.h. Referenced by fillin(), setup_points(), and write_datagram(). |
|
Reimplemented from CollisionPlane. Definition at line 40 of file collisionPolygon.cxx. |
|
Definition at line 34 of file collisionPolygon.h. |
|
Definition at line 34 of file collisionPolygon.h. |