29 template <
typename Real>
class TPoint2D;
35 template <
typename Real>
class TLine2D;
36 template <
typename Real>
class TRay2D;
49 template<
typename Real>
105 template<
typename Real>
149 template<
typename Real>
194 template<
typename Real>
234 template<
typename Real>
250 template<
typename Real>
266#define MAX_POLYGON_VERTEX_NUM 8
268 template<
typename Real>
#define MAX_POLYGON_VERTEX_NUM
Implementation of quaternion.
Vector< Real, 2 > Coord2D
Vector< Real, 2 > Coord2D
1D geometric primitives in two-dimensional space
DYN_FUNC bool isValid() const
DYN_FUNC Real distance(const TPoint2D< Real > &pt) const
DYN_FUNC Real distanceSquared(const TPoint2D< Real > &pt) const
Vector< Real, 2 > Coord2D
DYN_FUNC int intersect(const TCircle2D< Real > &circle, TSegment2D< Real > &interSeg) const
DYN_FUNC TSegment2D< Real > proximity(const TLine2D< Real > &line) const
DYN_FUNC Real parameter(const Coord2D &pos) const
0D geometric primitive in two-dimensional space
DYN_FUNC TPoint2D< Real > project(const TLine2D< Real > &line) const
project a point onto linear components – lines, rays and segments
DYN_FUNC bool inside(const TLine2D< Real > &line) const
check whether a point strictly lies inside (excluding boundary) a 1D geometric primitive
DYN_FUNC Real distance(const TPoint2D< Real > &pt) const
DYN_FUNC TPoint2D & operator=(const Coord2D &p)
Vector< Real, 2 > Coord2D
DYN_FUNC Real distanceSquared(const TPoint2D< Real > &pt) const
DYN_FUNC const TSegment2D< Real > operator-(const TPoint2D< Real > &pt) const
Coord2D _normals[MAX_POLYGON_VERTEX_NUM]
TAlignedBox2D< Real > aabb()
const Coord2D & center() const
void setAsLine(const Coord2D &v0, const Coord2D &v1)
void setVertex(const uint i, const Coord2D &v)
Vector< Real, 2 > Coord2D
void setCenter(const Coord2D &c)
const uint vertexSize() const
void setAsTriangle(const Coord2D &v0, const Coord2D &v1, const Coord2D &v2)
const Coord2D & vertex(uint i) const
const Coord2D & normal(uint i) const
void setAsPentagon(const Coord2D &v0, const Coord2D &v1, const Coord2D &v2, const Coord2D &v3, const Coord2D &v4)
void setAsBox(Real hx, Real hy)
Coord2D _vertices[MAX_POLYGON_VERTEX_NUM]
DYN_FUNC TSegment2D< Real > proximity(const TRay2D< Real > &ray) const
DYN_FUNC Real parameter(const Coord2D &pos) const
Vector< Real, 2 > Coord2D
DYN_FUNC Real distance(const TPoint2D< Real > &pt) const
DYN_FUNC bool isValid() const
DYN_FUNC int intersect(const TCircle2D< Real > &sphere, TSegment2D< Real > &interSeg) const
DYN_FUNC Real distanceSquared(const TPoint2D< Real > &pt) const
DYN_FUNC Coord2D & startPoint()
DYN_FUNC Real parameter(const Coord2D &pos) const
DYN_FUNC Coord2D direction() const
DYN_FUNC Real length() const
DYN_FUNC bool isValid() const
DYN_FUNC TSegment2D< Real > proximity(const TSegment2D< Real > &segment) const
DYN_FUNC int intersect(const TCircle2D< Real > &circle, TSegment2D< Real > &interSeg) const
DYN_FUNC Coord2D startPoint() const
DYN_FUNC Coord2D & endPoint()
DYN_FUNC Real lengthSquared() const
DYN_FUNC Coord2D endPoint() const
DYN_FUNC Real distanceSquared(const TSegment2D< Real > &segment) const
DYN_FUNC TSegment2D< Real > operator-(void) const
DYN_FUNC Real distance(const TSegment2D< Real > &segment) const
Vector< Real, 2 > Coord2D
2D geometric primitives in two-dimensional space
This is an implementation of AdditiveCCD based on peridyno.