| 
    CGAL 6.1 - 3D Triangulation Data Structure
    
   | 
 
#include <CGAL/Triangulation_data_structure_3.h>
The class Triangulation_data_structure_3 stores a 3D-triangulation data structure and provides the optional geometric functionalities to be used as a parameter for a 3D-geometric triangulation (see Chapter 3D Triangulations). 
The vertices and cells are stored in two nested containers, which are implemented using Compact_container (or Concurrent_compact_container, see below). The class may offer some flexibility for the choice of container in the future, in the form of additional template parameters.
| VertexBase | must be a model of TriangulationDSVertexBase_3. The default is Triangulation_ds_vertex_base_3<TDS>. | 
| CellBase | must be a model of TriangulationDSCellBase_3. The default is Triangulation_ds_cell_base_3<TDS>. | 
| ConcurrencyTag | enables the use of a concurrent container to store vertices and cells. It can be Sequential_tag (use of a Compact_container to store vertices and cells) or Parallel_tag (use of a Concurrent_compact_container). If it is Parallel_tag, the following functions can be called concurrently: create_vertex(), create_cell(), delete_vertex(), and delete_cell(). Sequential_tag is the default value. | 
TriangulationDataStructure_3 The base class Triangulation_utils_3 defines basic computations on indices of vertices and neighbors of cells.
Types | |
| typedef Triangulation_data_structure_2< VertexBase, FaceBase > | Tds | 
| typedef VertexBase::template Rebind_TDS< Tds >::Other | Vertex | 
| The vertex type.   | |
| typedef CellBase::template Rebind_TDS< Tds >::Other | Cell | 
| The face type.   | |
| typedef Compact_container< Vertex, Default > | Vertex_range | 
| Vertex container type.   | |
| typedef Compact_container< Cell, Default > | Cell_range | 
| Cell container type.   | |
Operations | |
In addition to the interface documented in the concept, the class offers the following functions.  | |
| Cell_range & | cells () const | 
| Returns a reference to the container of cells.  | |
| Cell_range & | cells () | 
| Returns a reference to the container of cells.  | |
| Vertex_range & | vertices () const | 
| Returns a reference to the container of vertices.  | |
| Vertex_range & | vertices () | 
| Returns a reference to the container of vertices.  | |
Additional Inherited Members | |
  Static Public Member Functions inherited from CGAL::Triangulation_utils_3 | |
| static unsigned int | next_around_edge (unsigned int i, unsigned int j) | 
In dimension 3, index of the neighbor n that is next to the current cell, when turning positively around an oriented edge whose endpoints are indexed i and j.   | |
| static int | vertex_triple_index (const int i, const int j) | 
In dimension 3, index of the j-th vertex in counterclockwise order on the face opposite to vertex with i of the cell.   | |
| static unsigned int | ccw (unsigned int i) | 
| Has a meaning only in dimension 2.   | |
| static unsigned int | cw (unsigned int i) | 
| Same for clockwise.  | |
| typedef CellBase::template Rebind_TDS<Tds>::Other CGAL::Triangulation_data_structure_3< VertexBase, CellBase, ConcurrencyTag >::Cell | 
The face type.
| typedef Compact_container<Cell, Default> CGAL::Triangulation_data_structure_3< VertexBase, CellBase, ConcurrencyTag >::Cell_range | 
Cell container type.
If ConcurrencyTag is Parallel_tag, a Concurrent_compact_container is used instead of a Compact_container. 
| typedef VertexBase::template Rebind_TDS<Tds>::Other CGAL::Triangulation_data_structure_3< VertexBase, CellBase, ConcurrencyTag >::Vertex | 
The vertex type.
| typedef Compact_container<Vertex, Default> CGAL::Triangulation_data_structure_3< VertexBase, CellBase, ConcurrencyTag >::Vertex_range | 
Vertex container type.
If ConcurrencyTag is Parallel_tag, a Concurrent_compact_container is used instead of a Compact_container.