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