cheshirekow
v0.1.0
|
misleadingly-named data structure, is actually a "simplexification", the dimension agnostic analog of a triangulation More...
#include <mpblocks/clarkson93/dynamic/Triangulation.h>
Public Types | |
typedef Traits::template Factory< HorizonRidge_t > | HorizonAlloc |
typedef HorizonRidge< Traits > | HorizonRidge_t |
typedef Stack< HorizonRidge_t > | HorizonSet |
typedef Traits::Point | Point |
typedef Traits::PointDeref | PointDeref |
typedef Traits::PointRef | PointRef |
typedef std::set< PointRef > | PointSet |
typedef Indexed< Scalar, Simplex * > | PQ_Key |
typedef Traits::Scalar | Scalar |
typedef Traits::Setup | Setup |
typedef Traits::Simplex | Simplex |
typedef Traits::template Factory< Simplex > | SimplexAlloc |
typedef SimplexBase< Traits > | SimplexBase_t |
typedef Stack< Simplex *, SimplexBits > | SimplexSet |
typedef Stack< Simplex * > | SimplexStack |
typedef Triangulation< Traits > | This_t |
typedef Triangulation< Traits > | Triangulation_t |
typedef unsigned int | uint |
typedef P_Queue< PQ_Key > | WalkQueue |
Public Member Functions | |
void | alter_x_visible (PointRef x) |
void | clear () |
destroys all simplex objects that have been generated and clears all lists/ sets More... | |
void | find_x_visible (PointRef x, Simplex *S=0) |
find the set of facets and put them in x_visible More... | |
SimplexAlloc & | getAllocator () |
return the allocator (for debugging) More... | |
template<class Iterator > | |
void | init (Iterator begin, Iterator end) |
builds the initial triangulation from the first NDim + 1 points inserted More... | |
void | insert (const PointRef x, Simplex *S=0) |
insert a new point into the triangulation and update the convex hull (if necessary) More... | |
void | setup (Setup &setup) |
set's up the triangulation by helping it construct it's allocators and preallocate it's sets More... | |
Triangulation () | |
~Triangulation () | |
Public Attributes | |
PointRef | m_antiOrigin |
fictitious point More... | |
PointDeref | m_deref |
dereferences a PointRef More... | |
Simplex * | m_hullSimplex |
a simplex in the hull More... | |
uint | m_ndim |
dimension More... | |
Simplex * | m_origin |
origin simplex More... | |
HorizonSet | m_ridges |
set of horizon ridges More... | |
SimplexAlloc | m_sAlloc |
simplex allocator More... | |
SimplexSet | m_x_visible |
set of x-visible simplices More... | |
SimplexSet | m_xv_queue |
search queue for x-visible building More... | |
WalkQueue | m_xv_walk |
walk for x-visible search More... | |
SimplexSet | m_xv_walked |
set of simplices ever expanded for the walk More... | |
Static Public Attributes | |
static const unsigned int | NDim = Traits::NDim |
misleadingly-named data structure, is actually a "simplexification", the dimension agnostic analog of a triangulation
By the convensions of Clarkson.compgeo93, the first (i.e. 0 index) simplex is the "origin" simplex. The 'origin' ( ) is a point inside that simplex (we'll pick the geometric mean of the vertices). The 'anti-origin' ( ) is a fictitous vertex which is a member of all simplices on the convex hull. It is analogous to CGAL's 'vertex at infinity'. We'll give it a value of , but it's address is used to identify it as a special point, and it's value is never used in calculations.
Definition at line 53 of file Triangulation.h.
typedef Traits::template Factory<HorizonRidge_t> mpblocks::clarkson93::dynamic::Triangulation< Traits >::HorizonAlloc |
Definition at line 79 of file Triangulation.h.
typedef HorizonRidge<Traits> mpblocks::clarkson93::dynamic::Triangulation< Traits >::HorizonRidge_t |
Definition at line 71 of file Triangulation.h.
typedef Stack<HorizonRidge_t> mpblocks::clarkson93::dynamic::Triangulation< Traits >::HorizonSet |
Definition at line 76 of file Triangulation.h.
typedef Traits::Point mpblocks::clarkson93::dynamic::Triangulation< Traits >::Point |
Definition at line 62 of file Triangulation.h.
typedef Traits::PointDeref mpblocks::clarkson93::dynamic::Triangulation< Traits >::PointDeref |
Definition at line 65 of file Triangulation.h.
typedef Traits::PointRef mpblocks::clarkson93::dynamic::Triangulation< Traits >::PointRef |
Definition at line 64 of file Triangulation.h.
typedef std::set<PointRef> mpblocks::clarkson93::dynamic::Triangulation< Traits >::PointSet |
Definition at line 80 of file Triangulation.h.
typedef Indexed<Scalar,Simplex*> mpblocks::clarkson93::dynamic::Triangulation< Traits >::PQ_Key |
Definition at line 83 of file Triangulation.h.
typedef Traits::Scalar mpblocks::clarkson93::dynamic::Triangulation< Traits >::Scalar |
Definition at line 61 of file Triangulation.h.
typedef Traits::Setup mpblocks::clarkson93::dynamic::Triangulation< Traits >::Setup |
Definition at line 66 of file Triangulation.h.
typedef Traits::Simplex mpblocks::clarkson93::dynamic::Triangulation< Traits >::Simplex |
Definition at line 63 of file Triangulation.h.
typedef Traits::template Factory<Simplex> mpblocks::clarkson93::dynamic::Triangulation< Traits >::SimplexAlloc |
Definition at line 78 of file Triangulation.h.
typedef SimplexBase<Traits> mpblocks::clarkson93::dynamic::Triangulation< Traits >::SimplexBase_t |
Definition at line 72 of file Triangulation.h.
typedef Stack<Simplex*, SimplexBits> mpblocks::clarkson93::dynamic::Triangulation< Traits >::SimplexSet |
Definition at line 74 of file Triangulation.h.
typedef Stack<Simplex*> mpblocks::clarkson93::dynamic::Triangulation< Traits >::SimplexStack |
Definition at line 75 of file Triangulation.h.
typedef Triangulation<Traits> mpblocks::clarkson93::dynamic::Triangulation< Traits >::This_t |
Definition at line 69 of file Triangulation.h.
typedef Triangulation<Traits> mpblocks::clarkson93::dynamic::Triangulation< Traits >::Triangulation_t |
Definition at line 68 of file Triangulation.h.
typedef unsigned int mpblocks::clarkson93::dynamic::Triangulation< Traits >::uint |
Definition at line 60 of file Triangulation.h.
typedef P_Queue<PQ_Key> mpblocks::clarkson93::dynamic::Triangulation< Traits >::WalkQueue |
Definition at line 84 of file Triangulation.h.
mpblocks::clarkson93::dynamic::Triangulation< Traits >::Triangulation | ( | ) |
Definition at line 39 of file Triangulation.hpp.
mpblocks::clarkson93::dynamic::Triangulation< Traits >::~Triangulation | ( | ) |
Definition at line 50 of file Triangulation.hpp.
void mpblocks::clarkson93::dynamic::Triangulation< Traits >::alter_x_visible | ( | PointRef | x | ) |
Definition at line 356 of file Triangulation.hpp.
void mpblocks::clarkson93::dynamic::Triangulation< Traits >::clear | ( | ) |
destroys all simplex objects that have been generated and clears all lists/ sets
Definition at line 186 of file Triangulation.hpp.
void mpblocks::clarkson93::dynamic::Triangulation< Traits >::find_x_visible | ( | PointRef | x, |
Simplex * | S = 0 |
||
) |
find the set of facets and put them in x_visible
Using the first method of Clarkson.compgeo93, we walk along the segment , starting at . If this walk enters a simplex whose peak vertex is the anti-origin, then an x-visible current facet has been found. Otherwise a simplex of T containing has been found, showing that
Definition at line 194 of file Triangulation.hpp.
|
inline |
return the allocator (for debugging)
Definition at line 133 of file Triangulation.h.
void mpblocks::clarkson93::dynamic::Triangulation< Traits >::init | ( | Iterator | begin, |
Iterator | end | ||
) |
builds the initial triangulation from the first NDim
+ 1 points inserted
Definition at line 74 of file Triangulation.hpp.
void mpblocks::clarkson93::dynamic::Triangulation< Traits >::insert | ( | const PointRef | x, |
Simplex * | S = 0 |
||
) |
insert a new point into the triangulation and update the convex hull (if necessary)
x | const ref to the new point to add |
S | an x-visible facet, if null (default) will search for one |
Definition at line 177 of file Triangulation.hpp.
void mpblocks::clarkson93::dynamic::Triangulation< Traits >::setup | ( | Setup & | setup | ) |
set's up the triangulation by helping it construct it's allocators and preallocate it's sets
Definition at line 56 of file Triangulation.hpp.
PointRef mpblocks::clarkson93::dynamic::Triangulation< Traits >::m_antiOrigin |
fictitious point
Definition at line 92 of file Triangulation.h.
PointDeref mpblocks::clarkson93::dynamic::Triangulation< Traits >::m_deref |
dereferences a PointRef
Definition at line 93 of file Triangulation.h.
Simplex* mpblocks::clarkson93::dynamic::Triangulation< Traits >::m_hullSimplex |
a simplex in the hull
Definition at line 90 of file Triangulation.h.
uint mpblocks::clarkson93::dynamic::Triangulation< Traits >::m_ndim |
dimension
Definition at line 89 of file Triangulation.h.
Simplex* mpblocks::clarkson93::dynamic::Triangulation< Traits >::m_origin |
origin simplex
Definition at line 91 of file Triangulation.h.
HorizonSet mpblocks::clarkson93::dynamic::Triangulation< Traits >::m_ridges |
set of horizon ridges
Definition at line 103 of file Triangulation.h.
SimplexAlloc mpblocks::clarkson93::dynamic::Triangulation< Traits >::m_sAlloc |
simplex allocator
Definition at line 105 of file Triangulation.h.
SimplexSet mpblocks::clarkson93::dynamic::Triangulation< Traits >::m_x_visible |
set of x-visible simplices
Definition at line 99 of file Triangulation.h.
SimplexSet mpblocks::clarkson93::dynamic::Triangulation< Traits >::m_xv_queue |
search queue for x-visible building
Definition at line 100 of file Triangulation.h.
WalkQueue mpblocks::clarkson93::dynamic::Triangulation< Traits >::m_xv_walk |
walk for x-visible search
Definition at line 95 of file Triangulation.h.
SimplexSet mpblocks::clarkson93::dynamic::Triangulation< Traits >::m_xv_walked |
set of simplices ever expanded for the walk
Definition at line 96 of file Triangulation.h.
|
static |
Definition at line 58 of file Triangulation.h.