KrisLibrary  1.0.0
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
Math3D::GeometricPrimitive2D Class Reference

Public Types

enum  Type {
  Empty, Point, Segment, AABB,
  Triangle, Circle, Box
}
 

Public Member Functions

 GeometricPrimitive2D (const GeometricPrimitive2D &rhs)
 
 GeometricPrimitive2D (const Vector2 &point)
 
 GeometricPrimitive2D (const Segment2D &segment)
 
 GeometricPrimitive2D (const AABB2D &aabb)
 
 GeometricPrimitive2D (const Box2D &box)
 
 GeometricPrimitive2D (const Circle2D &circle)
 
 GeometricPrimitive2D (const Triangle2D &triangle)
 
const char * TypeName () const
 
void Set (const Vector2 &point)
 
void Set (const Segment2D &segment)
 
void Set (const AABB2D &aabb)
 
void Set (const Box2D &box)
 
void Set (const Circle2D &circle)
 
void Set (const Triangle2D &triangle)
 
AABB2D GetAABB () const
 
Box2D GetBB () const
 
RigidTransform GetFrame () const
 
void Transform (const RigidTransform2D &T)
 
void ToPolygon (std::vector< Vector2 > &outline, int divs=32) const
 
bool SupportsCollides (Type b) const
 
bool Collides (const GeometricPrimitive2D &geom) const
 
bool Collides (const Vector2 &point) const
 
bool Collides (const Segment2D &segment) const
 
bool Collides (const AABB2D &aabb) const
 
bool Collides (const Box2D &box) const
 
bool Collides (const Circle2D &circle) const
 
bool Collides (const Triangle2D &triangle) const
 
bool SupportsDistance (Type b)
 
Real Distance (const GeometricPrimitive2D &geom) const
 
Real Distance (const Vector2 &x) const
 
Real Distance (const Segment2D &segment) const
 
Real Distance (const AABB2D &aabb) const
 
Real Distance (const Box2D &box) const
 
Real Distance (const Circle2D &circle) const
 
Real Distance (const Triangle2D &triangle) const
 

Static Public Member Functions

static const char * TypeName (Type type)
 
static bool SupportsCollides (Type a, Type b)
 
static bool SupportsDistance (Type a, Type b)
 

Public Attributes

Type type
 
AnyValue data
 

The documentation for this class was generated from the following files: