cheshirekow  v0.1.0
mpblocks::clarkson93::Simplex2< Traits > Struct Template Reference

A simplex is the convex hull of d+1 points in general position (IGP), i.e. they do not lie on the same hyperplane. More...

#include <mpblocks/clarkson93/Simplex2.h>

Public Types

typedef std::bitset
< simplex::NUM_BITS
BitSet
 
typedef Traits::Deref Deref
 
typedef Traits::Point Point
 
typedef Traits::PointRef PointRef
 
typedef Traits::Scalar Scalar
 
typedef Traits::SimplexRef SimplexRef
 

Public Member Functions

 Simplex2 (PointRef pNull, SimplexRef sNull)
 

Public Attributes

uint32_t iPeak
 index of the peak vertex More...
 
SimplexRef 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...
 
BitSet sets
 sets this simplex is a member of More...
 
PointRef V [NDim+1]
 vertices of the simplex More...
 

Static Public Attributes

static const unsigned int NDim = Traits::NDim
 

Detailed Description

template<class Traits>
struct mpblocks::clarkson93::Simplex2< Traits >

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.

In this second version of the Simplex structure we do not maintain the zeroth vertex/Neighbor pair as the designated peak vertex, base facet. Instead we store the vertex references in sorted order so that we can efficiently perform queries regarding various dimensional facets of 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

Definition at line 58 of file Simplex2.h.

Member Typedef Documentation

template<class Traits>
typedef std::bitset<simplex::NUM_BITS> mpblocks::clarkson93::Simplex2< Traits >::BitSet

Definition at line 68 of file Simplex2.h.

template<class Traits>
typedef Traits::Deref mpblocks::clarkson93::Simplex2< Traits >::Deref

Definition at line 67 of file Simplex2.h.

template<class Traits>
typedef Traits::Point mpblocks::clarkson93::Simplex2< Traits >::Point

Definition at line 64 of file Simplex2.h.

template<class Traits>
typedef Traits::PointRef mpblocks::clarkson93::Simplex2< Traits >::PointRef

Definition at line 66 of file Simplex2.h.

template<class Traits>
typedef Traits::Scalar mpblocks::clarkson93::Simplex2< Traits >::Scalar

Definition at line 63 of file Simplex2.h.

template<class Traits>
typedef Traits::SimplexRef mpblocks::clarkson93::Simplex2< Traits >::SimplexRef

Definition at line 65 of file Simplex2.h.

Constructor & Destructor Documentation

template<class Traits>
mpblocks::clarkson93::Simplex2< Traits >::Simplex2 ( PointRef  pNull,
SimplexRef  sNull 
)
inline

Definition at line 80 of file Simplex2.h.

Member Data Documentation

template<class Traits>
uint32_t mpblocks::clarkson93::Simplex2< Traits >::iPeak

index of the peak vertex

Definition at line 72 of file Simplex2.h.

template<class Traits>
SimplexRef mpblocks::clarkson93::Simplex2< Traits >::N[NDim+1]

simplices which share a facet

Definition at line 74 of file Simplex2.h.

template<class Traits>
Point mpblocks::clarkson93::Simplex2< Traits >::n

normal vector of base facet

Definition at line 77 of file Simplex2.h.

template<class Traits>
const unsigned int mpblocks::clarkson93::Simplex2< Traits >::NDim = Traits::NDim
static

Definition at line 62 of file Simplex2.h.

template<class Traits>
Scalar mpblocks::clarkson93::Simplex2< Traits >::o

offset of base facet inequality hyperplane

Definition at line 78 of file Simplex2.h.

template<class Traits>
BitSet mpblocks::clarkson93::Simplex2< Traits >::sets

sets this simplex is a member of

Definition at line 75 of file Simplex2.h.

template<class Traits>
PointRef mpblocks::clarkson93::Simplex2< Traits >::V[NDim+1]

vertices of the simplex

Definition at line 73 of file Simplex2.h.


The documentation for this struct was generated from the following file: