|
class | Cylinder< T, N > |
| An N-dimensional cylinder, given by its radius and endpoints. More...
|
|
class | Dilated< Shape > |
| A wrapper shape which dilates the extents of another Shape. More...
|
|
class | Extrusion< Shape > |
| An axis-aligned extrusion of an arbitrary N-1 dimensional Convex shape. More...
|
|
class | Frustum< Shape > |
| An N-dimensional frustum (truncated pyramid) with an arbitrary Convex shape as its base, and its (possibly excluded) point at the origin. More...
|
|
class | GridIterator< T, N, Order > |
| Iterator over the integer points in an N-dimensional grid. More...
|
|
class | KDTree< T, N, Object, NodeData > |
| A hierarchical spatial index. More...
|
|
class | Oriented< Shape > |
| A wrapper shape which orients another arbitrary shape with an AffineTransform. More...
|
|
class | Oriented< Rect< T, N > > |
| Partial specialization of Oriented for Rects. More...
|
|
class | Plane< T, N > |
| A geometric plane or hyperplane. More...
|
|
class | Rect< T, N > |
| An N-dimensional axis-aligned interval. More...
|
|
class | Bounded< T, _N, Derived > |
| Base class describing shapes with finite extents in N dimensions. More...
|
|
class | Convex< T, N, Derived > |
| Base class describing convex shapes in N-dimensional space. More...
|
|
class | RayIntersectable< T, N, Derived > |
| Base class describing N-dimensional shapes which can be intersection-tested with a Ray. More...
|
|
class | SdfEvaluable< T, N, Derived > |
| Base class describing N-dimensional shapes which implement a signed distance function. More...
|
|
class | Projectable< T, N, Derived > |
| Base class describing N-dimensional shapes which implement the ability to project an arbitrary point to the nearest point on their surface. More...
|
|
class | AnyConvex< T, N > |
| Helper class which virtualizes the static polymorphism of Convex shapes. More...
|
|
class | AnyConvexImpl< Shape > |
| Implementation of AnyConvex for a specific Shape. More...
|
|
class | Sphere< T, N > |
| A N-dimensional circle, sphere, or hypersphere. More...
|
|
class | Simplex< T, N > |
| A simplex in N dimensions (e.g. a tetrahedron, triangle, line, point). More...
|
|
class | SphericalSector< T, N > |
| A N-dimensional circle, sphere, or hypersphere. More...
|
|
|
template<typename T , index_t N> |
bool | gjk_intersect (const AnyConvex< T, N > &shape_a, const AnyConvex< T, N > &shape_b, Vec< T, N > *overlap_axis=NULL) |
|
template<typename T , index_t N> |
bool | minimal_separation_axis (const AnyConvex< T, N > &shape_a, const AnyConvex< T, N > &shape_b, Vec< T, N > *overlap_axis, double fractional_tolerance=0.001, index_t iteration_limit=-1, bool emit_debug=false) |
|
template<typename Shape > |
AnyConvexImpl< Shape > | as_any_convex (const Shape &s) |
| Wrap s in a virtual class which implements the Convex concept.
|
|
template<typename Shape > |
Dilated< Shape > | dilate (const Shape &s, typename Shape::elem_t dilation) |
| Dilate the shape s by the amount dilation .
|
|
template<typename Shape > |
Dilated< Shape > | dilate (const Dilated< Shape > &s, typename Shape::elem_t dilation) |
| Dilate the shape s by the amount dilation .
|
|
template<typename T , index_t N> |
Plane< T, N > | dilate (Plane< T, N > p, T dilation) |
| Dilate the Plane p by the amount dilation . More...
|
|
template<typename T , index_t N> |
Sphere< T, N > | dilate (const Sphere< T, N > &s, T dilation) |
| Dilate the Sphere s by the amount dilation . More...
|
|
template<typename Shape > |
Extrusion< Shape > | extrude (const Shape &s, typename Shape::elem_t h0, typename Shape::elem_t h1) |
| Convenience function to extrude the shape s between heights h0 and h1 by wrapping s in the Extrusion template.
|
|
template<typename Shape > |
Frustum< Shape > | frustum (const Shape &s, typename Shape::elem_t h0, typename Shape::elem_t h1) |
| Convenience function to raise the shape s into a frustum between heights h0 and h1 , by wrapping s in the Frustum template.
|
|
template<typename Shape > |
Oriented< Shape > | operator* (const AffineTransform< typename Shape::elem_t, Shape::N > &xf, const Shape &s) |
| Transform the shape s by wrapping it in an Oriented class.
|
|
template<typename Shape > |
Oriented< Shape > | operator* (const AffineTransform< typename Shape::elem_t, Shape::N > &xf, const Oriented< Shape > &s) |
| Transform the oriented shape s by xf .
|
|
template<typename Shape > |
Oriented< Shape > & | operator*= (Oriented< Shape > &s, const AffineTransform< typename Shape::elem_t, Shape::N > &xf) |
| In-place transform the oriented shape s by xf .
|
|
template<typename Shape > |
Oriented< Shape > | operator/ (const Shape &s, const AffineTransform< typename Shape::elem_t, Shape::N > &xf) |
| Transform the shape s by the inverse of xf .
|
|
template<typename Shape > |
Oriented< Shape > | operator/ (const Oriented< Shape > &s, const AffineTransform< typename Shape::elem_t, Shape::N > &xf) |
| Transform the oriented shape s by the inverse of xf .
|
|
template<typename Shape > |
Oriented< Shape > & | operator/= (Oriented< Shape > &s, const AffineTransform< typename Shape::elem_t, Shape::N > &xf) |
| In-place transform the oriented shape s by the inverse of xf .
|
|
Shape-related functions and classes.