cheshirekow
v0.1.0
|
misleadingly-named data structure, is actually a "simplexification", the dimension agnostic analog of a triangulation More...
#include <mpblocks/clarkson93/Triangulation.h>
Public Types | |
typedef Traits::Callback | Callback |
typedef Traits::Deref | Deref |
typedef std::vector< Ridge > | HorizonSet |
typedef Traits::Point | Point |
typedef Traits::PointRef | PointRef |
typedef std::set< PointRef > | PointSet |
typedef Indexed< Scalar, SimplexRef > | PQ_Key |
typedef HorizonRidge< Traits > | Ridge |
typedef Traits::Scalar | Scalar |
typedef Traits::Simplex | Simplex |
typedef Traits::SimplexMgr | SimplexMgr |
typedef Traits::SimplexRef | SimplexRef |
typedef std::vector< SimplexRef > | SimplexSet |
typedef Triangulation< Traits > | This |
typedef P_Queue< PQ_Key > | WalkQueue |
Public Member Functions | |
void | alter_x_visible (const OptLevel< 0 > &, PointRef x) |
void | clear () |
destroys all simplex objects that have been generated and clears all lists/ sets More... | |
void | fill_x_visible (const OptLevel< 0 > &, PointRef x, SimplexRef S) |
given a simplex S which is x-visible and infinite, fill the set of all x-visible and infinite facets More... | |
Simplex * | find_x_visible (PointRef x, SimplexRef S) |
find the set of facets and put them in x_visible More... | |
template<class Iterator , class Deiter > | |
void | init (Iterator begin, Iterator end, Deiter deiter) |
builds the initial triangulation from the first NDim + 1 points inserted More... | |
void | insert (const PointRef x, SimplexRef S) |
insert a new point into the triangulation and update the convex hull (if necessary) More... | |
void | insert (const PointRef x) |
Triangulation () | |
~Triangulation () | |
Public Attributes | |
PointRef | m_antiOrigin |
fictitious point More... | |
Callback | m_callback |
event hooks More... | |
Deref | m_deref |
dereferences a PointRef or SimplexRef More... | |
SimplexRef | m_hullSimplex |
a simplex in the hull More... | |
SimplexRef | m_origin |
origin simplex More... | |
HorizonSet | m_ridges |
set of horizon ridges More... | |
SimplexMgr | m_sMgr |
simplex manager More... | |
WalkQueue | m_xv_queue |
walk for x-visible search More... | |
SimplexSet | m_xv_walked |
set of simplices ever expanded for the walk More... | |
SimplexSet | m_xvh |
set of x-visible hull simplices More... | |
SimplexSet | m_xvh_queue |
search queue for x-visible hull More... | |
Static Public Attributes | |
static const unsigned int | NDim = Traits::NDim |
static const OptLevel < OptLevelGet< Traits >::Value > | s_optLvl = OptLevel< OptLevelGet<Traits>::Value >() |
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 95 of file Triangulation.h.
typedef Traits::Callback mpblocks::clarkson93::Triangulation< Traits >::Callback |
Definition at line 110 of file Triangulation.h.
typedef Traits::Deref mpblocks::clarkson93::Triangulation< Traits >::Deref |
Definition at line 109 of file Triangulation.h.
typedef std::vector<Ridge> mpblocks::clarkson93::Triangulation< Traits >::HorizonSet |
Definition at line 118 of file Triangulation.h.
typedef Traits::Point mpblocks::clarkson93::Triangulation< Traits >::Point |
Definition at line 105 of file Triangulation.h.
typedef Traits::PointRef mpblocks::clarkson93::Triangulation< Traits >::PointRef |
Definition at line 107 of file Triangulation.h.
typedef std::set<PointRef> mpblocks::clarkson93::Triangulation< Traits >::PointSet |
Definition at line 116 of file Triangulation.h.
typedef Indexed<Scalar,SimplexRef> mpblocks::clarkson93::Triangulation< Traits >::PQ_Key |
Definition at line 121 of file Triangulation.h.
typedef HorizonRidge<Traits> mpblocks::clarkson93::Triangulation< Traits >::Ridge |
Definition at line 114 of file Triangulation.h.
typedef Traits::Scalar mpblocks::clarkson93::Triangulation< Traits >::Scalar |
Definition at line 104 of file Triangulation.h.
typedef Traits::Simplex mpblocks::clarkson93::Triangulation< Traits >::Simplex |
Definition at line 106 of file Triangulation.h.
typedef Traits::SimplexMgr mpblocks::clarkson93::Triangulation< Traits >::SimplexMgr |
Definition at line 111 of file Triangulation.h.
typedef Traits::SimplexRef mpblocks::clarkson93::Triangulation< Traits >::SimplexRef |
Definition at line 108 of file Triangulation.h.
typedef std::vector<SimplexRef> mpblocks::clarkson93::Triangulation< Traits >::SimplexSet |
Definition at line 117 of file Triangulation.h.
typedef Triangulation<Traits> mpblocks::clarkson93::Triangulation< Traits >::This |
Definition at line 113 of file Triangulation.h.
typedef P_Queue<PQ_Key> mpblocks::clarkson93::Triangulation< Traits >::WalkQueue |
Definition at line 122 of file Triangulation.h.
mpblocks::clarkson93::Triangulation< Traits >::Triangulation | ( | ) |
Definition at line 44 of file Triangulation.hpp.
mpblocks::clarkson93::Triangulation< Traits >::~Triangulation | ( | ) |
Definition at line 51 of file Triangulation.hpp.
void mpblocks::clarkson93::Triangulation< Traits >::alter_x_visible | ( | const OptLevel< 0 > & | , |
PointRef | x | ||
) |
Definition at line 344 of file Triangulation.hpp.
void mpblocks::clarkson93::Triangulation< Traits >::clear | ( | ) |
destroys all simplex objects that have been generated and clears all lists/ sets
Definition at line 157 of file Triangulation.hpp.
void mpblocks::clarkson93::Triangulation< Traits >::fill_x_visible | ( | const OptLevel< 0 > & | , |
PointRef | x, | ||
SimplexRef | S | ||
) |
given a simplex S which is x-visible and infinite, fill the set of all x-visible and infinite facets
Definition at line 272 of file Triangulation.hpp.
Traits::Simplex * mpblocks::clarkson93::Triangulation< Traits >::find_x_visible | ( | PointRef | x, |
SimplexRef | S | ||
) |
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 174 of file Triangulation.hpp.
void mpblocks::clarkson93::Triangulation< Traits >::init | ( | Iterator | begin, |
Iterator | end, | ||
Deiter | deiter | ||
) |
builds the initial triangulation from the first NDim
+ 1 points inserted
Definition at line 62 of file Triangulation.hpp.
void mpblocks::clarkson93::Triangulation< Traits >::insert | ( | const PointRef | x, |
SimplexRef | S | ||
) |
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 137 of file Triangulation.hpp.
void mpblocks::clarkson93::Triangulation< Traits >::insert | ( | const PointRef | x | ) |
Definition at line 149 of file Triangulation.hpp.
PointRef mpblocks::clarkson93::Triangulation< Traits >::m_antiOrigin |
fictitious point
Definition at line 129 of file Triangulation.h.
Callback mpblocks::clarkson93::Triangulation< Traits >::m_callback |
event hooks
Definition at line 142 of file Triangulation.h.
Deref mpblocks::clarkson93::Triangulation< Traits >::m_deref |
dereferences a PointRef or SimplexRef
Definition at line 130 of file Triangulation.h.
SimplexRef mpblocks::clarkson93::Triangulation< Traits >::m_hullSimplex |
a simplex in the hull
Definition at line 127 of file Triangulation.h.
SimplexRef mpblocks::clarkson93::Triangulation< Traits >::m_origin |
origin simplex
Definition at line 128 of file Triangulation.h.
HorizonSet mpblocks::clarkson93::Triangulation< Traits >::m_ridges |
set of horizon ridges
Definition at line 139 of file Triangulation.h.
SimplexMgr mpblocks::clarkson93::Triangulation< Traits >::m_sMgr |
simplex manager
Definition at line 141 of file Triangulation.h.
WalkQueue mpblocks::clarkson93::Triangulation< Traits >::m_xv_queue |
walk for x-visible search
Definition at line 132 of file Triangulation.h.
SimplexSet mpblocks::clarkson93::Triangulation< Traits >::m_xv_walked |
set of simplices ever expanded for the walk
Definition at line 133 of file Triangulation.h.
SimplexSet mpblocks::clarkson93::Triangulation< Traits >::m_xvh |
set of x-visible hull simplices
Definition at line 136 of file Triangulation.h.
SimplexSet mpblocks::clarkson93::Triangulation< Traits >::m_xvh_queue |
search queue for x-visible hull
Definition at line 137 of file Triangulation.h.
|
static |
Definition at line 101 of file Triangulation.h.
|
static |
Definition at line 102 of file Triangulation.h.