3D Triangulation Data Structure
Reference Manual

Sylvain Pion and Monique Teillaud

The triangulation data structure is able to represent a triangulation of a topological sphere Sd of R d+1, for d in {-1,0,1,2,3}. (See 28.1.)

The vertex class of a 3D-triangulation data structure must define a number of types and operations. The requirements that are of geometric nature are required only when the triangulation data structure is used as a layer for the geometric triangulation classes. (See Section 28.2.)

The cell class of a triangulation data structure stores four handles to its four vertices and four handles to its four neighbors. The vertices are indexed 0, 1, 2, and 3 in a consistent order. The neighbor indexed i lies opposite to vertex i.

In degenerate dimensions, cells are used to store faces of maximal dimension: in dimension 2, each cell represents only one facet of index 3, and 3 edges (0,1), (1,2) and (2,0); in dimension 1, each cell represents one edge (0,1). (See Section 28.1.)

28.5   Classified Reference Pages

Concepts

TriangulationDataStructure_3

TriangulationDataStructure_3::Cell
TriangulationDataStructure_3::Vertex

TriangulationDSCellBase_3
TriangulationDSVertexBase_3

Classes

CGAL::Triangulation_data_structure_3<TriangulationDSVertexBase_3,TriangulationDSCellBase_3>

This class is a model for the concept of the 3D-triangulation data structure TriangulationDataStructure_3. It is templated by base classes for vertices and cells.

CGAL provides base vertex classes and base cell classes:

CGAL::Triangulation_ds_cell_base_3<>
CGAL::Triangulation_ds_vertex_base_3<>
CGAL::Triangulation_cell_base_3<TriangulationTraits_3, TriangulationDSCellBase_3>
CGAL::Triangulation_vertex_base_3<TriangulationTraits_3, TriangulationDSVertexBase_3>
CGAL::Triangulation_hierarchy_vertex_base_3<TriangulationVertexBase_3>

Helper Classes

CGAL::Triangulation_utils_3

It defines operations on the indices of vertices and neighbors within a cell of a triangulation.

28.6   Alphabetical List of Reference Pages

TriangulationDataStructure_3::Cell
TriangulationDataStructure_3::Vertex
TriangulationDataStructure_3
TriangulationDSCellBase_3
TriangulationDSVertexBase_3
Triangulation_data_structure_3<TriangulationDSVertexBase_3,TriangulationDSCellBase_3>
Triangulation_ds_cell_base_3<>
Triangulation_ds_vertex_base_3<>
Triangulation_utils_3