|
CGAL 4.7 - 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.
Parameters
It is parameterized by base classes for vertices and cells which have to match the requirements for the concepts TriangulationDSCellBase_3 and TriangulationDSVertexBase_3 respectively.
They have the default values Triangulation_ds_vertex_base_3<TDS> and Triangulation_ds_cell_base_3<TDS> respectively.
The Concurrency_tag parameter allows to enable 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, delete_cell. Sequential_tag is the default value.
The base class Triangulation_utils_3 defines basic computations on indices of vertices and neighbors of cells.
CGAL::Triangulation_ds_vertex_base_3 CGAL::Triangulation_ds_cell_base_3 CGAL::Triangulation_vertex_base_with_info_3 CGAL::Triangulation_cell_base_with_info_3 Types | |
| typedef Compact_container < Vertex, Default > | Vertex_range |
| Vertex container type. More... | |
| typedef Compact_container < Cell, Default > | Cell_range |
| Cell container type. More... | |
Operations | |
| Cell_range & | cells () const |
| Returns a reference to the container of cells. More... | |
| Cell_range & | cells () |
| Returns a reference to the container of cells. More... | |
| Vertex_range & | vertices () const |
| Returns a reference to the container of vertices. More... | |
| Vertex_range & | vertices () |
| Returns a reference to the container of vertices. More... | |
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. More... | |
| 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. More... | |
| static unsigned int | ccw (unsigned int i) |
| Has a meaning only in dimension 2. More... | |
| static unsigned int | cw (unsigned int i) |
| Same for clockwise. More... | |
| typedef Compact_container<Cell, Default> CGAL::Triangulation_data_structure_3< TriangulationDSVertexBase_3, TriangulationDSCellBase_3, Concurrency_tag >::Cell_range |
Cell container type.
If Concurrency_tag is Parallel_tag, a Concurrent_compact_container is used instead of a Compact_container.
| typedef Compact_container<Vertex, Default> CGAL::Triangulation_data_structure_3< TriangulationDSVertexBase_3, TriangulationDSCellBase_3, Concurrency_tag >::Vertex_range |
Vertex container type.
If Concurrency_tag is Parallel_tag, a Concurrent_compact_container is used instead of a Compact_container.
| Cell_range& CGAL::Triangulation_data_structure_3< TriangulationDSVertexBase_3, TriangulationDSCellBase_3, Concurrency_tag >::cells | ( | ) | const |
Returns a reference to the container of cells.
| Cell_range& CGAL::Triangulation_data_structure_3< TriangulationDSVertexBase_3, TriangulationDSCellBase_3, Concurrency_tag >::cells | ( | ) |
Returns a reference to the container of cells.
| Vertex_range& CGAL::Triangulation_data_structure_3< TriangulationDSVertexBase_3, TriangulationDSCellBase_3, Concurrency_tag >::vertices | ( | ) | const |
Returns a reference to the container of vertices.
| Vertex_range& CGAL::Triangulation_data_structure_3< TriangulationDSVertexBase_3, TriangulationDSCellBase_3, Concurrency_tag >::vertices | ( | ) |
Returns a reference to the container of vertices.