# 3D Periodic Triangulations

*Reference Manual*

*Manuel Caroli and Monique Teillaud*

The main classes of the 3D Periodic Triangulation package are
*Periodic_3_triangulation_3* and
*Periodic_3_Delaunay_triangulation_3*. They contain functionality
to access triangulations and to run queries on
them. *Periodic_3_Delaunay_triangulation_3* can construct and
modify Delaunay triangulations. It takes the geometric traits as well
as the triangulation data structure as template parameters.

The geometric traits class must be a model of the concept
*Periodic_3DelaunayTriangulationTraits_3*. It contains all
predicates and constructions that are needed by the functions in the
triangulation classes.

The package uses *Triangulation_data_structure_3* to represent the
triangulation. The cells and vertices need to be models of the
concepts *Periodic_3TriangulationDSCellBase_3* and
*Periodic_3TriangulationDSVertexBase_3*, respectively.
A triangulation is stored as a collection of vertices and cells that
are linked together through incidence and adjacency relations. Each
cell gives access to its four incident vertices and to its four
adjacent cells. Each vertex gives access to one of its incident
cells.

The four vertices of a cell are indexed with 0, 1, 2 and 3 in positive
orientation, the positive orientation being defined by the orientation
of the underlying space _{c}^{3}. The neighbors of a cell are
also indexed with 0, 1, 2, 3 in such a way that the neighbor indexed
by i is opposite to the vertex with the same index. See
Figure 37.2.

In order to be able to specify the tetrahedra that contain vertices
both inside and outside the original domain we store an additional
offset information in each vertex of a cell. These offsets are models
of the concept *Periodic_3Offset_3*.

## 37.8 Classified Reference Pages

### Concepts

*Periodic_3DelaunayTriangulationTraits_3*

*TriangulationDataStructure_3*

*Periodic_3TriangulationDSCellBase_3*

*Periodic_3TriangulationDSVertexBase_3*

*Periodic_3Offset_3*

### Classes

#### Main Classes

*CGAL::Periodic_3_triangulation_3<PT,TDS>*

*CGAL::Periodic_3_Delaunay_triangulation_3<PT,TDS>*

*CGAL::Periodic_3_triangulation_hierarchy_3<PTr>*

*CGAL::Periodic_3_triangulation_ds_cell_base_3<>*

*CGAL::Periodic_3_triangulation_ds_vertex_base_3<>*

*CGAL::Periodic_3_offset_3*

#### Traits Classes

*CGAL::Periodic_3_triangulation_traits_3<Traits,Periodic_3Offset_3>*

### Enums

*CGAL::Periodic_3_triangulation_3::Iterator_type*

*CGAL::Periodic_3_triangulation_3::Locate_type*

## 37.9 Alphabetical List of Reference Pages