|
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.