CollisionPolygon
-
class CollisionPolygon
Bases:
CollisionPlane
Inheritance diagram
-
CollisionPolygon(LVecBase3 const &a, LVecBase3 const &b, LVecBase3 const &c, LVecBase3 const &d)
Creates an invalid polygon. Only used when reading from a bam file.
-
static TypeHandle get_class_type(void)
-
std::size_t get_num_points(void) const
Returns the number of vertices of the
CollisionPolygon
.
-
LPoint3 get_point(std::size_t n) const
Returns the nth vertex of the
CollisionPolygon
, expressed in 3-D space.
-
bool is_concave(void) const
Returns true if the
CollisionPolygon
appears to be concave, or false if it is safely convex.
-
bool is_valid(void) const
Returns true if the
CollisionPolygon
is valid (that is, it has at least three vertices), or false otherwise.
-
bool verify_points(LPoint3 const &a, LPoint3 const &b, LPoint3 const &c, LPoint3 const &d)
Verifies that the indicated set of points will define a valid CollisionPolygon: that is, at least three non-collinear points, with no points repeated.
Verifies that the indicated set of points will define a valid CollisionPolygon: that is, at least three non-collinear points, with no points repeated.
Verifies that the indicated set of points will define a valid CollisionPolygon: that is, at least three non-collinear points, with no points repeated.
This does not check that the polygon defined is convex; that check is made later, once we have projected the points to 2-d space where the decision is easier.
-
CollisionPolygon(LVecBase3 const &a, LVecBase3 const &b, LVecBase3 const &c, LVecBase3 const &d)