27 #ifndef MPBLOCKS_CLARKSON93_DYNAMIC_SIMPLEX_H_
28 #define MPBLOCKS_CLARKSON93_DYNAMIC_SIMPLEX_H_
33 namespace clarkson93 {
78 template <
class Traits>
85 typedef typename Traits::Scalar
Scalar;
86 typedef typename Traits::Point
Point;
90 typedef typename Traits::idx_t
idx_t;
132 template <
class Traits>
std::vector< Simplex * > neighbors
simplices which share a facet
has been queued during the x-visible walk
default simplex structure which contains no additional functionality
Traits::PointRef PointRef
SimplexBase< Traits > This_t
Scalar normalProjection(const Point &x)
returns the distance of x to the base facet, used in walking the triangulation to x ...
has been expanded during circulation around a a point (i.e. hull enumeration)
A simplex is the convex hull of d+1 points in general position (IGP), i.e. they do not lie on the sam...
is queued for expansion during circulation around a point (i.e. hull enumeration) ...
bool isInfinite(PointRef antiOrigin)
returns true if vertex[0] is the anti origin
void calculateConstraint(uint ndim, PointDeref &deref)
calculate the normal and offset of the constraint given the d vertices on it's base facet (does not c...
HorizonRidge< Traits > HorizonRidge_t
bool isVisible(const Point &x)
returns true if x is on the inside of the base facet (i.e. x is in the same half space as the simplex...
SimplexBase< Traits > SimplexBase_t
is queued for expansion in x-visible search
Scalar c
offset of base facet inequality hyperplane
simplex::Bits SimplexBits
void orientConstraint(const Point &x, Orientation orient=INSIDE)
orient the constraint by ensuring that the point x satisfies it (i.e. )
Point n
normal vector of base facet
Traits::PointDeref PointDeref
A horizon ridge is a d-2 dimensional facet (i.e. a facet of a facet),.
std::vector< PointRef > vertices
vertices of the simplex
indicates membership into a number of sets by a bitfield