cheshirekow
v0.1.0
|
encapsulates a vertex, simplex pair where the simplex is the neighbor across from the specified vertex More...
#include <mpblocks/clarkson93/Simplex.h>
Public Types | |
typedef HorizonRidge< Traits > | HorizonRidge_t |
typedef Traits::idx_t | idx_t |
enum | Orientation { INSIDE, OUTSIDE } |
typedef Traits::Point | Point |
typedef Traits::PointDeref | PointDeref |
typedef Traits::PointRef | PointRef |
typedef Traits::Scalar | Scalar |
typedef Traits::Simplex | Simplex |
typedef SimplexBase< Traits > | SimplexBase_t |
typedef SimplexBase< Traits > | This_t |
Public Member Functions | |
void | calculateConstraint (PointDeref &deref) |
calculate the normal and offset of the constraint given the d vertices on it's base facet (does not compute orientation / sign) More... | |
bool | isInfinite (PointRef antiOrigin) |
returns true if vertex[0] is the anti origin More... | |
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) More... | |
Scalar | normalProjection (const Point &x) |
returns the distance of x to the base facet, used in walking the triangulation to x More... | |
void | orientConstraint (const Point &x, Orientation orient=INSIDE) |
orient the constraint by ensuring that the point x satisfies it (i.e. ) More... | |
Public Member Functions inherited from mpblocks::clarkson93::BitMember< SimplexBits, simplex::NUM_BITS > | |
void | addTo (SimplexBitssetBit) |
bool | isMemberOf (SimplexBitssetBit) |
void | removeFrom (SimplexBitssetBit) |
Public Attributes | |
Simplex * | N [NDim+1] |
simplices which share a facet More... | |
Point | n |
normal vector of base facet More... | |
Scalar | o |
offset of base facet inequality hyperplane More... | |
PointRef | V [NDim+1] |
vertices of the simplex More... | |
Static Public Attributes | |
static const unsigned int | NDim = Traits::NDim |
encapsulates a vertex, simplex pair where the simplex is the neighbor across from the specified vertex
A simplex is the convex hull of d+1 points in general position (IGP), i.e. they do not lie on the same hyperplane In order to implicitly maintain the convensions of Clarkson.compgeo93, we will order the vertices and facets of the simplex such that the i'th facet is opposite the i'th vertex (using the definition of clarkson), and thus is defined by the d vertices excluding the i'th. In addition, the i'th neighbor is the neighbor sharing the i'th facet and opposite the i'th vertex.
By the uniformity conventions of Clarkson.compgeo93, we'll reserve the 0 index for the 'peak' vertex, and the 'base' facet
Because the 0'th vertex is the 'peak' vertex and the 'peak' vertex of a boundary simplex in the extended triangulation is the anti origin, the address stored in vertices[0] will be equal to the address of Triangulation::origin for the triangulation which owns this simplex.
The simplex also stores a normal vector n
and an offset c
defining a linear inequality whose hyperplane is coincident to the 'base' facet and oriented such that n' x < c is the half-space containing the 'peak' vertex
typedef HorizonRidge<Traits> mpblocks::clarkson93::SimplexBase< Traits >::HorizonRidge_t |
typedef Traits::idx_t mpblocks::clarkson93::SimplexBase< Traits >::idx_t |
typedef Traits::Point mpblocks::clarkson93::SimplexBase< Traits >::Point |
typedef Traits::PointDeref mpblocks::clarkson93::SimplexBase< Traits >::PointDeref |
typedef Traits::PointRef mpblocks::clarkson93::SimplexBase< Traits >::PointRef |
typedef Traits::Scalar mpblocks::clarkson93::SimplexBase< Traits >::Scalar |
typedef Traits::Simplex mpblocks::clarkson93::SimplexBase< Traits >::Simplex |
typedef SimplexBase<Traits> mpblocks::clarkson93::SimplexBase< Traits >::SimplexBase_t |
typedef SimplexBase<Traits> mpblocks::clarkson93::SimplexBase< Traits >::This_t |
enum mpblocks::clarkson93::SimplexBase::Orientation |
void mpblocks::clarkson93::SimplexBase< Traits >::calculateConstraint | ( | PointDeref & | deref | ) |
calculate the normal and offset of the constraint given the d vertices on it's base facet (does not compute orientation / sign)
Definition at line 37 of file Simplex.hpp.
bool mpblocks::clarkson93::SimplexBase< Traits >::isInfinite | ( | PointRef | antiOrigin | ) |
returns true if vertex[0] is the anti origin
Definition at line 101 of file Simplex.hpp.
bool mpblocks::clarkson93::SimplexBase< Traits >::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)
Definition at line 107 of file Simplex.hpp.
Traits::Scalar mpblocks::clarkson93::SimplexBase< Traits >::normalProjection | ( | const Point & | x | ) |
returns the distance of x to the base facet, used in walking the triangulation to x
Definition at line 94 of file Simplex.hpp.
void mpblocks::clarkson93::SimplexBase< Traits >::orientConstraint | ( | const Point & | x, |
Orientation | orient = INSIDE |
||
) |
orient the constraint by ensuring that the point x satisfies it (i.e. )
Definition at line 59 of file Simplex.hpp.
Simplex* mpblocks::clarkson93::SimplexBase< Traits >::N[NDim+1] |
Point mpblocks::clarkson93::SimplexBase< Traits >::n |
|
static |
Scalar mpblocks::clarkson93::SimplexBase< Traits >::o |
PointRef mpblocks::clarkson93::SimplexBase< Traits >::V[NDim+1] |