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.
-