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

#include <Delaunay1.h>

List of all members.

Public Types

typedef Vertex_ Vertex
typedef Geometry::Point< ambient > Point
 ambient-dimension point
typedef Geometry::Point< topologicalPPoint
 projected point
typedef Geometry::ProjectionPlane<
ambient, topological
ProjectionPlane
typedef Geometry::BoundingBox<
topological
BoundingBox
typedef Geometry::CenterRadius<
ambient > 
CenterRadius
typedef SimplicialComplex<
topological, Vertex_, SimplexData,
VertexPrinter > 
Complex
typedef Complex::Simplex Simplex
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 (const ProjectionPlane &plane, Vertex *a, Vertex *b)
const ComplexgetComplex () const
ComplexgetComplexRW ()
const SimplexgetHandle () const
void computeCavity (const Simplex &s, const Point &unused(p), Cavity &cavity, bool append=false) const
void computeCavity (const Simplex &s, const Point &unused(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 insertVertex (const Cavity &cavity, Vertex *v)
void expensiveInsertVertex (Vertex *v)
Simplex expensiveLocate (const Vertex *v)
Simplex expensiveLocate (const Point &p)
const ProjectionPlanegetPlane () const
CenterRadius circumcenter (const Simplex &s) const
bool isMember (const Simplex &s) const
bool inSphere (const Simplex &s, const Point &p) const
bool inSphereAffine (const Simplex &s, const Point &p) const
bool inSimplexAffine (const Simplex &s, const Point &p) const
bool isOriented (const Simplex &s) const
bool isOriented (const Vertex *a, const Vertex *b) const
bool isOriented () const
data_ref getDataRW (const Simplex &s)
data_const_ref getData (const Simplex &s) const

Static Public Member Functions

static IncrementalDelaunayfromSimplex (const ProjectionPlane &plane, Vertex *a, Vertex *b)
static IncrementalDelaunayfromSimplex (Vertex *a, Vertex *b)
static IncrementalDelaunayfromSimplex (const vector< Vertex * > &verts)
template<class vertex_iterator>
static IncrementalDelaunaycomputeDelaunaySlowlyFromVertices (vertex_iterator begin, vertex_iterator end)
static IncrementalDelaunaymakeBoundingSimplex (const ProjectionPlane &plane, BoundingBox box, double buffer)
template<class point_iterator>
static IncrementalDelaunaymakeBoundingSimplex (point_iterator begin, point_iterator end, double buffer)
static double radiusEdge2 (const Simplex &)
static double computeSigma (const Simplex &)
static double radiusRadius (const Simplex &)
static bool isDelaunay ()

Static Public Attributes

static const unsigned topological = 1

Classes

struct  CheckOriented


Detailed Description

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
class IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >

A specialization of the IncrementalDelaunay to the special case of topo=1, when many operations can be done far more cheaply.


Member Typedef Documentation

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
typedef Geometry::BoundingBox<topological> IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::BoundingBox
 

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
typedef Complex::Cavity IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::Cavity
 

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
typedef Geometry::CenterRadius<ambient> IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::CenterRadius
 

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
typedef SimplicialComplex<topological, Vertex_, SimplexData, VertexPrinter> IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::Complex
 

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
typedef hudson::Bucket<SimplexData>::const_reference IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::data_const_ref
 

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
typedef hudson::Bucket<SimplexData>::reference IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::data_ref
 

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
typedef Geometry::Point<ambient> IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::Point
 

ambient-dimension point

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
typedef Geometry::Point<topological> IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::PPoint
 

projected point

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
typedef Geometry::ProjectionPlane<ambient, topological> IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::ProjectionPlane
 

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
typedef Complex::Simplex IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::Simplex
 

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
typedef Complex::Star IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::Star
 

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
typedef Vertex_ IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::Vertex
 


Constructor & Destructor Documentation

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::IncrementalDelaunay const ProjectionPlane plane,
Vertex a,
Vertex b
[inline]
 


Member Function Documentation

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
CenterRadius IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::circumcenter const Simplex s  )  const [inline]
 

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

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

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
template<class vertex_iterator>
static IncrementalDelaunay* IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::computeDelaunaySlowlyFromVertices vertex_iterator  begin,
vertex_iterator  end
[inline, static]
 

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
static double IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::computeSigma const Simplex  )  [inline, static]
 

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

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

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
Simplex IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::expensiveLocate const Point p  )  [inline]
 

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
Simplex IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::expensiveLocate const Vertex v  )  [inline]
 

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

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
static IncrementalDelaunay* IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::fromSimplex Vertex a,
Vertex b
[inline, static]
 

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
static IncrementalDelaunay* IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::fromSimplex const ProjectionPlane plane,
Vertex a,
Vertex b
[inline, static]
 

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
const Complex& IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::getComplex  )  const [inline]
 

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
Complex& IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::getComplexRW  )  [inline]
 

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
data_const_ref IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::getData const Simplex s  )  const [inline]
 

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

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
data_ref IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::getDataRW const Simplex s  )  [inline]
 

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
const Simplex& IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::getHandle  )  const [inline]
 

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
const ProjectionPlane& IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::getPlane  )  const [inline]
 

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
void IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::insertVertex const Cavity cavity,
Vertex v
[inline]
 

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

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

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
bool IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::inSimplexAffine const Simplex s,
const Point p
const [inline]
 

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
bool IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::inSphere const Simplex s,
const Point p
const [inline]
 

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
bool IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::inSphereAffine const Simplex s,
const Point p
const [inline]
 

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
static bool IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::isDelaunay  )  [inline, static]
 

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
bool IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::isMember const Simplex s  )  const [inline]
 

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
bool IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::isOriented  )  const [inline]
 

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
bool IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::isOriented const Vertex a,
const Vertex b
const [inline]
 

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
bool IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::isOriented const Simplex s  )  const [inline]
 

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
template<class point_iterator>
static IncrementalDelaunay* IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::makeBoundingSimplex point_iterator  begin,
point_iterator  end,
double  buffer
[inline, static]
 

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

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
static double IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::radiusEdge2 const Simplex  )  [inline, static]
 

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
static double IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::radiusRadius const Simplex  )  [inline, static]
 


Member Data Documentation

template<unsigned ambient, class Vertex_, class SimplexData, class VertexPrinter>
const unsigned IncrementalDelaunay< ambient, 1, Vertex_, SimplexData, VertexPrinter >::topological = 1 [static]
 


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