CGAL 6.1 - 3D Periodic Triangulations

Loading...
Searching...
No Matches
Modules
Reference Manual

##

Manuel Caroli, Aymeric Pellé, Mael Rouxel-Labbé, and Monique Teillaud
This package allows to build and handle triangulations of point sets in the three dimensional flat torus. Triangulations are built incrementally and can be modified by insertion or removal of vertices. They offer point location facilities. The package provides Delaunay and regular triangulations and offers nearest neighbor queries and primitives to build the dual Voronoi diagrams.
Introduced in: CGAL 3.5
Depends on: 3D Triangulation Data Structure
BibTeX: cgal:ct-pt3-25b
License: GPL
Windows Demos: 3D Periodic Delaunay Triangulation, 3D Periodic Lloyd

The main classes of the 3D Periodic Triangulation package are `CGAL::Periodic_3_triangulation_3`, `CGAL::Periodic_3_Delaunay_triangulation_3`, and `CGAL::Periodic_3_regular_triangulation_3`. They contain functionality to access triangulations and to run queries on them. `CGAL::Periodic_3_Delaunay_triangulation_3` can construct and modify Delaunay triangulations, while `CGAL::Periodic_3_regular_triangulation_3` can do it for weighted Delaunay triangulations. They take the geometric traits as well as the triangulation data structure as template parameters.

The geometric traits class of each triangulation class must be a model of its associated concept, i.e., it must contain all predicates and constructions that are needed by the triangulation class.

The package uses `CGAL::Triangulation_data_structure_3` to represent the triangulation. 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 \( \mathbb T_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 51.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`.

## Classified Reference Pages

## Concepts

- `Periodic_3TriangulationTraits_3`
- `Periodic_3DelaunayTriangulationTraits_3`
- `Periodic_3RegularTriangulationTraits_3`
- `TriangulationDataStructure_3`
- `Periodic_3TriangulationDSVertexBase_3`
- `Periodic_3TriangulationDSCellBase_3`
- `Periodic_3RegularTriangulationDSCellBase_3`
- `Periodic_3RegularTriangulationDSVertexBase_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_regular_triangulation_3<PT,TDS>`
- `CGAL::Periodic_3_triangulation_hierarchy_3<PTr>`
- `CGAL::Periodic_3_triangulation_ds_vertex_base_3<>`
- `CGAL::Periodic_3_triangulation_ds_cell_base_3<>`
- `CGAL::Periodic_3_offset_3`

### Traits Classes

- `CGAL::Periodic_3_triangulation_traits_3<Traits,Periodic_3Offset_3>`
- `CGAL::Periodic_3_Delaunay_triangulation_traits_3<Traits,Periodic_3Offset_3>`
- `CGAL::Periodic_3_regular_triangulation_traits_3<Traits,Periodic_3Offset_3>`

## Enums

- `CGAL::Periodic_3_triangulation_3::Iterator_type`
- `CGAL::Periodic_3_triangulation_3::Locate_type`

## Modules
| Concepts
| Main Classes
| Traits Classes