IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter > Class Template Reference

#include <IncrementalDelaunay.h>

List of all members.
 IncrementalDelaunay (const vector< Vertex * > &verts, const vector< vector< size_t > > &indices, const ProjectionPlane &pplane)
static IncrementalDelaunayfromSimplex (const vector< Vertex * > &verts, const ProjectionPlane &plane)
static IncrementalDelaunayfromSimplex (const vector< Vertex * > &verts)
const CenterRadiuscircumcenter (const Simplex &s) const
Point offCenter (const Simplex &s, double rho2) const
double radiusEdge2 (const Simplex &s) const
double volume (const Simplex &simplex) const
double computeSigma (const Simplex &s) const
double radiusRadius (const Simplex &simplex) const
double minDihedral (const Simplex &simplex) const
double triangleArea (const OSimplex &simplex) const
void projectSimplex (boost::array< PPoint, topological+1 > &s, const Simplex &simplex) const
static pair< unsigned, unsigned > shortestEdge (const Simplex &s)
static double edgeLen2 (const Simplex &s, const pair< unsigned, unsigned > &e)
static double edgeLen2 (const Simplex &s)
bool inSphere (const Simplex &s, const Point &p) const
bool inSphereAffine (const Simplex &simplex, const Point &p) const
bool inSimplexAffine (const Simplex &simplex, const Point &p) const
bool isOriented (const Simplex &simplex) const
void printToEPS (FILE *out) const
void dumpEPS () const
static IncrementalDelaunaycomputeBoundingSimplex (const BoundingBox &box, const ProjectionPlane &plane, double buffer, vector< Vertex * > &corners)
template<class p_iterator>
static IncrementalDelaunaycomputeBoundingSimplex (p_iterator begin, p_iterator end, double buffer, vector< Vertex * > &corners)
static vector< Vertex * > unprojectBoundingSimplex (const vector< PPoint > &points, const ProjectionPlane &plane)
static IncrementalDelaunaymakeBoundingSimplex (const ProjectionPlane &plane, const BoundingBox &box, double buffer)
template<class point_iterator>
static IncrementalDelaunaymakeBoundingSimplex (point_iterator begin, point_iterator end, double buffer)
template<class p_iterator>
static IncrementalDelaunaycreateOrthoBox (const p_iterator &begin, const p_iterator &end, unsigned ppd, double buffer)
template<class p_iterator>
static IncrementalDelaunaycreateMeshBox (const p_iterator &begin, const p_iterator &end, double rho)
template<class p_iterator>
static IncrementalDelaunaycreateSquare (const p_iterator begin, const p_iterator &end, double buffer=1.0)
template<class p_iterator>
static IncrementalDelaunaycreate4box (const p_iterator begin, const p_iterator &end)

Public Types

typedef Geometry::Point< ambient > Point
 ambient-dimension point
typedef Geometry::Point< topological > PPoint
 projected point
typedef Geometry::ProjectionPlane<
ambient, topological > 
ProjectionPlane
typedef Geometry::BoundingBox<
topological > 
BoundingBox
typedef Geometry::CenterRadius<
ambient > 
CenterRadius
typedef Vertex_ Vertex
typedef SimplicialComplex<
topological, Vertex, SimplexStorage,
VertexPrinter > 
Complex
typedef Complex::Simplex Simplex
typedef Complex::OSimplex OSimplex
typedef Complex::Cavity Cavity
typedef Complex::Star Star
typedef hudson::Bucket< SimplexData
>::reference 
data_ref
typedef hudson::Bucket< SimplexData
>::const_reference 
data_const_ref

Public Member Functions

 ~IncrementalDelaunay ()
data_ref getDataRW (const Simplex &s)
data_const_ref getData (const Simplex &s) const
const ProjectionPlanegetPlane () const
void computeCavity (const Simplex &s, const Point &p, Cavity &cavity, bool append=false) const
void computeCavity (const Simplex &s, const Point &p, Cavity &cavity, vector< Simplex > &neighbours, bool append=false) const
void computeStar (const Cavity &cavity, Vertex *v, Star &star)
void insertVertex (const Cavity &cavity, Star &star)
void insertVertex (const Simplex &s, Vertex *v)
void expensiveInsertVertex (Vertex *v)
void giveVertexOwnership (Vertex *v)
Simplex expensiveLocate (const Point &p) const
Simplex expensiveLocate (const Vertex *v) const
const ComplexgetComplex () const
ComplexgetComplexRW ()
const SimplexgetHandle () const
bool isOriented () const
bool isDelaunay () const

Static Public Member Functions

static unsigned ambientDimension ()
static unsigned topologicalDimension ()
template<class vertex_iterator>
static IncrementalDelaunaycomputeDelaunaySlowlyFromVertices (vertex_iterator begin, vertex_iterator end)

Classes

struct  CollectCorners
struct  computeCavityStruct
struct  expensiveLocateStruct
struct  ExtendedCavityStruct
struct  FindNotCorner
struct  SimplexToEPS
struct  ToPointAndProject
struct  verifyDelaunayStruct
struct  verifyOrientedStruct

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
class IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >


Member Typedef Documentation

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
typedef Geometry::BoundingBox<topological> IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::BoundingBox
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
typedef Complex::Cavity IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::Cavity
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
typedef Geometry::CenterRadius<ambient> IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::CenterRadius
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
typedef SimplicialComplex<topological, Vertex, SimplexStorage, VertexPrinter> IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::Complex
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
typedef hudson::Bucket<SimplexData>::const_reference IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::data_const_ref
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
typedef hudson::Bucket<SimplexData>::reference IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::data_ref
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
typedef Complex::OSimplex IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::OSimplex
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
typedef Geometry::Point<ambient> IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::Point
 

ambient-dimension point

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
typedef Geometry::Point<topological> IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::PPoint
 

projected point

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
typedef Geometry::ProjectionPlane<ambient, topological> IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::ProjectionPlane
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
typedef Complex::Simplex IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::Simplex
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
typedef Complex::Star IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::Star
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
typedef Vertex_ IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::Vertex
 


Constructor & Destructor Documentation

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::~IncrementalDelaunay  )  [inline]
 

Deletes the simplicial complex (including all its simplices), and all the vertices whose ownership was ceded to this Delaunay complex.

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::IncrementalDelaunay const vector< Vertex * > &  verts,
const vector< vector< size_t > > &  indices,
const ProjectionPlane pplane
[inline]
 

Build the triangulation provided by the vertices and indices. The orientation must be consistent (though it can be reversed from what my code expects).


Member Function Documentation

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
static unsigned IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::ambientDimension  )  [inline, static]
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
const CenterRadius& IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::circumcenter const Simplex s  )  const [inline]
 

Compute the circumcenter and radius. These are stored in a cache in the simplex; we return a reference to it, avoiding an expensive copy.

If the circumcenter has never been computed before, we violate our stated constness and store the computed value.

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
template<class p_iterator>
static IncrementalDelaunay* IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::computeBoundingSimplex p_iterator  begin,
p_iterator  end,
double  buffer,
vector< Vertex * > &  corners
[inline, static]
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
static IncrementalDelaunay* IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::computeBoundingSimplex const BoundingBox box,
const ProjectionPlane plane,
double  buffer,
vector< Vertex * > &  corners
[inline, static]
 

Create a simplex that bounds the box. TODO: explain the 'buffer' argument and all the other math. Note: the triangulation does *not* own its corners. This is because typically they are removed later. The caller takes ownership over the corner vertices through the 'corners' argument.

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
void IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::computeCavity const Simplex s,
const Point p,
Cavity cavity,
vector< Simplex > &  neighbours,
bool  append = false
const [inline]
 

Compute the extended cavity of point p.

The simplex s must have p in its circumball for the results to be meaningful. In lower dimension, p is assumed to be on the affine plane of the triangulation.

The extended cavity is the normal cavity, plus its immediate neighbours. The extended cavity is useful because the union of its circumballs covers the union of the circumballs of the star.

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
void IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::computeCavity const Simplex s,
const Point p,
Cavity cavity,
bool  append = false
const [inline]
 

Compute the cavity of point p.

The simplex s must have p in its circumball for the results to be meaningful. In lower dimension, p is assumed to be on the affine plane of the triangulation.

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
template<class vertex_iterator>
static IncrementalDelaunay* IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::computeDelaunaySlowlyFromVertices vertex_iterator  begin,
vertex_iterator  end
[inline, static]
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
double IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::computeSigma const Simplex s  )  const [inline]
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
void IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::computeStar const Cavity cavity,
Vertex v,
Star star
[inline]
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
template<class p_iterator>
static IncrementalDelaunay* IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::create4box const p_iterator  begin,
const p_iterator &  end
[inline, static]
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
template<class p_iterator>
static IncrementalDelaunay* IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::createMeshBox const p_iterator &  begin,
const p_iterator &  end,
double  rho
[inline, static]
 

Create a mesh of a bounding box big enough that the edges of the box will never be encroached so long as we only split outside the convex hull of [begin,end) based on quality -- and not based on other sizing functions. See doc/proofs/no-boundary-effects.txt

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
template<class p_iterator>
static IncrementalDelaunay* IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::createOrthoBox const p_iterator &  begin,
const p_iterator &  end,
unsigned  ppd,
double  buffer
[inline, static]
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
template<class p_iterator>
static IncrementalDelaunay* IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::createSquare const p_iterator  begin,
const p_iterator &  end,
double  buffer = 1.0
[inline, static]
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
void IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::dumpEPS  )  const [inline]
 

Dump to an EPS file with sequential names.

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
static double IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::edgeLen2 const Simplex s  )  [inline, static]
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
static double IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::edgeLen2 const Simplex s,
const pair< unsigned, unsigned > &  e
[inline, static]
 

Given an edge as returned by shortestEdge(), compute its length.

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
void IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::expensiveInsertVertex Vertex v  )  [inline]
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
Simplex IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::expensiveLocate const Vertex v  )  const [inline]
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
Simplex IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::expensiveLocate const Point p  )  const [inline]
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
static IncrementalDelaunay* IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::fromSimplex const vector< Vertex * > &  verts  )  [inline, static]
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
static IncrementalDelaunay* IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::fromSimplex const vector< Vertex * > &  verts,
const ProjectionPlane plane
[inline, static]
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
const Complex& IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::getComplex  )  const [inline]
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
Complex& IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::getComplexRW  )  [inline]
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
data_const_ref IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::getData const Simplex s  )  const [inline]
 

Return a const-ref to the data, which must be present.

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
data_ref IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::getDataRW const Simplex s  )  [inline]
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
const Simplex& IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::getHandle  )  const [inline]
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
const ProjectionPlane& IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::getPlane  )  const [inline]
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
void IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::giveVertexOwnership Vertex v  )  [inline]
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
void IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::insertVertex const Simplex s,
Vertex v
[inline]
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
void IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::insertVertex const Cavity cavity,
Star star
[inline]
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
bool IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::inSimplexAffine const Simplex simplex,
const Point p
const [inline]
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
bool IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::inSphere const Simplex s,
const Point p
const [inline]
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
bool IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::inSphereAffine const Simplex simplex,
const Point p
const [inline]
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
bool IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::isDelaunay  )  const [inline]
 

Check that every simplex is Delaunay.

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
bool IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::isOriented  )  const [inline]
 

Check that every simplex is oriented.

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
bool IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::isOriented const Simplex simplex  )  const [inline]
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
template<class point_iterator>
static IncrementalDelaunay* IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::makeBoundingSimplex point_iterator  begin,
point_iterator  end,
double  buffer
[inline, static]
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
static IncrementalDelaunay* IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::makeBoundingSimplex const ProjectionPlane plane,
const BoundingBox box,
double  buffer
[inline, static]
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
double IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::minDihedral const Simplex simplex  )  const [inline]
 

Minimum dihedral angle of the simplex. Small is good.

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
Point IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::offCenter const Simplex s,
double  rho2
const [inline]
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
void IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::printToEPS FILE *  out  )  const [inline]
 

Print to a given file.

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
void IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::projectSimplex boost::array< PPoint, topological+1 > &  s,
const Simplex simplex
const [inline]
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
double IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::radiusEdge2 const Simplex s  )  const [inline]
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
double IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::radiusRadius const Simplex simplex  )  const [inline]
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
static pair<unsigned, unsigned> IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::shortestEdge const Simplex s  )  [inline, static]
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
static unsigned IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::topologicalDimension  )  [inline, static]
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
double IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::triangleArea const OSimplex simplex  )  const [inline]
 

Compute the area of the triangle pointed to by the OSimplex (that is, the triangle [012]).

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
static vector<Vertex*> IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::unprojectBoundingSimplex const vector< PPoint > &  points,
const ProjectionPlane plane
[inline, static]
 

template<unsigned ambient, unsigned topological, class Vertex_, class SimplexData = void, class VertexPrinter = typename Vertex_::Printer>
double IncrementalDelaunay< ambient, topological, Vertex_, SimplexData, VertexPrinter >::volume const Simplex simplex  )  const [inline]
 


The documentation for this class was generated from the following file:
Generated on Thu Mar 27 19:04:15 2008 by  doxygen 1.4.6