\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)
CGAL 4.4 - High-dimension Triangulation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Triangulations

Todo:
check generated documentation
detail.png
Samuel Hornus and Olivier Devillers
The package Triangulation provides classes for manipulating triangulations (pure simplicial complexes) in Euclidean spaces whose dimension can be specified at compile-time or at run-time. Specifically, it provides a combinatorial Triangulation data structure, which is extended into geometric triangulation and Delaunay triangulation classes. Point location and point insertion are supported. The Delaunay triangulation also supports point removal.


Introduced in: CGAL 3.6
BibTeX: cgal:hd-t-14a
License: LGPL

A triangulation is a pure manifold simplicial complex which is connected and has no boundaries. Its faces are such that two of them either do not intersect or share a common face.

The basic triangulation class of CGAL is primarily designed to represent the triangulations of a set of points \( A\) in \( \mathbb{R}^d\). It can be viewed as a partition of the convex hull of \( A\) into simplices whose vertices are the points of \( A\). Together with the unbounded full cells having the convex hull boundary as its frontier, the triangulation forms a partition of \( \mathbb{R}^d\).

Modifications:
See the User Manual for more details.

In order to deal only with full dimensional simplices (full cells), which is convenient for many applications, the space outside the convex hull is subdivided into full cells by considering that each convex hull facet is incident to an infinite full cell having as vertex an auxiliary vertex called the infinite vertex. In that way, each facet is incident to exactly two full cells and special cases at the boundary of the convex hull are simple to deal with.

A triangulation is a collection of vertices and full cells that are linked together through incidence and adjacency relations. Each full cell gives access to its incident vertices and to its adjacent full cells. Each vertex gives access to one of its incident full cells.

The vertices of a full cell are indexed in positive orientation, the positive orientation being defined by the orientation of the underlying Euclidean space \( \mathbb{R}^d\). The neighbors of a full cell are also indexed in such a way that the neighbor indexed by \( i\) is opposite to the vertex with the same index.

Reference Pages Sorted by Type

Concepts

Triangulation data structure

TriangulationDataStructure

The above concept defines three types, Vertex, Full_cell and Face, that must respectively fulfill the following concepts:

TriangulationDSVertex

TriangulationDSFullCell

TriangulationDSFace

FullCellData

Triangulations

TriangulationTraits

DelaunayTriangulationTraits

TriangulationVertex

TriangulationFullCell

The latter two concepts are also abbreviated respectively as TrVertex and TrFullCell.

Classes

Triangulation data structure

(Geometric) triangulations

Enums

Modules

 Concepts
 

Classes

class  CGAL::Delaunay_triangulation< DelaunayTriangulationTraits_, TriangulationDataStructure_ >
 The class Delaunay_triangulation is used to maintain the full cells and vertices of a Delaunay triangulation in \( \mathcal R^D\). More...
 
class  CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >
 
 
class  CGAL::Triangulation_data_structure< Dimensionality, TriangulationDSVertex, TriangulationDSFullCell >
 This class is used for storing the combinatorial information of a triangulation of dimension \( d\leq D\) (D is the maximal dimension). More...
 
class  CGAL::Triangulation_ds_full_cell< TriangulationDataStructure, TDSFullCellStoragePolicy >
 The class Triangulation_ds_full_cell serves as the default full cell template parameter in the class Triangulation_data_structure<Dimensionality, TriangulationDSVertex, TriangulationDSFullCell>. More...
 
class  CGAL::Triangulation_ds_vertex< TriangulationDataStructure >
 The class Triangulation_ds_vertex serves as the default vertex template parameter in the class Triangulation_data_structure<Dimensionality, TriangulationDSVertex, TriangulationDSFullCell>. More...
 
class  CGAL::Triangulation_face< TriangulationDataStructure >
 A Triangulation_face is a model of the concept TriangulationDSFace. More...
 
class  CGAL::Triangulation_full_cell< TriangulationTraits, Data, TriangulationDSFullCell >
 The class Triangulation_full_cell is a model of the concept TriangulationFullCell. More...
 
class  CGAL::Triangulation_vertex< TriangulationTraits, Data, TriangulationDSVertex >
 The class Triangulation_vertex is a model of the concept TriangulationVertex. More...