Ocean
Ocean::Geometry::Delaunay Class Reference

This class implements Delaunay triangulation functions. More...

Data Structures

class  CircumCricleIndexTriangle
 This class extends the IndexTriangle class by an additional circumcircle as the Delaunay triangulation is based on this information. More...
 
class  ComparePointsX
 This class implements the lesser operator for indices of points. More...
 
class  IndexEdge
 This class stores the sorted indices of an edge. More...
 
class  IndexTriangle
 This class holds three indices of points representing a triangle. More...
 

Public Types

typedef std::vector< IndexTriangleIndexTriangles
 Definition of a vector holding index triangles. More...
 

Static Public Member Functions

static IndexTriangles triangulation (const Vectors2 &points)
 Determines the delaunay triangulation for a given 2D point set. More...
 
static bool checkTriangulation (const IndexTriangles &triangles, const Vectors2 &points, const Scalar epsilon=Numeric::eps())
 Checks a Delaunay triangulation for integrity: no points are allowed within the circumcircle of a triangle. More...
 

Protected Types

typedef std::vector< CircumCricleIndexTriangleCircumCricleIndexTriangles
 Definition of a vector holding extended index triangles. More...
 
typedef std::list< CircumCricleIndexTriangleCircumCricleIndexTriangleList
 Definition of a list holding extended index triangles. More...
 
typedef std::map< IndexEdge, unsigned int > EdgeMap
 Definition of a map mapping edge pairs to a counter. More...
 

Static Protected Member Functions

static bool checkTriangulation (const CircumCricleIndexTriangles &triangles, const Vectors2 &points, const Scalar epsilon=Numeric::eps())
 Checks a Delaunay triangulation for integrity: no points are allowed within the circumcircle of a triangle. More...
 

Detailed Description

This class implements Delaunay triangulation functions.

Member Typedef Documentation

◆ CircumCricleIndexTriangleList

Definition of a list holding extended index triangles.

◆ CircumCricleIndexTriangles

Definition of a vector holding extended index triangles.

◆ EdgeMap

typedef std::map<IndexEdge, unsigned int> Ocean::Geometry::Delaunay::EdgeMap
protected

Definition of a map mapping edge pairs to a counter.

◆ IndexTriangles

Definition of a vector holding index triangles.

Member Function Documentation

◆ checkTriangulation() [1/2]

static bool Ocean::Geometry::Delaunay::checkTriangulation ( const CircumCricleIndexTriangles triangles,
const Vectors2 points,
const Scalar  epsilon = Numeric::eps() 
)
staticprotected

Checks a Delaunay triangulation for integrity: no points are allowed within the circumcircle of a triangle.

Parameters
trianglesDelaunay triangulation
pointsVector with points coordinates
epsilonThe epsilon value used for a slightly more generous comparison, with range [0, infinity)
Returns
True, if the provided triangulation is a valid Delaunay triangulation

◆ checkTriangulation() [2/2]

static bool Ocean::Geometry::Delaunay::checkTriangulation ( const IndexTriangles triangles,
const Vectors2 points,
const Scalar  epsilon = Numeric::eps() 
)
static

Checks a Delaunay triangulation for integrity: no points are allowed within the circumcircle of a triangle.

Parameters
trianglesDelaunay triangulation
pointsVector with points coordinates
epsilonThe epsilon value used for a slightly more generous comparison, with range [0, infinity)
Returns
True, if the provided triangulation is a valid Delaunay triangulation

◆ triangulation()

static IndexTriangles Ocean::Geometry::Delaunay::triangulation ( const Vectors2 points)
static

Determines the delaunay triangulation for a given 2D point set.

The implementation is based on the Bowyer-Watson algorithm.

Parameters
points2D point set to be triangulated, at least three
Returns
Resulting triangulation

The documentation for this class was generated from the following file: