CGAL 4.6.1 - dD Triangulations
|
#include <CGAL/Triangulation_data_structure.h>
This class is a data structure used for storing a triangulation of dimension \( d\leq D\) (D
is the maximal dimension).
Dimensionality
can be either
CGAL::Dimension_tag<D>
for some integer D
. This indicates that the triangulation data structure can store simplices (full cells) of dimension at most D
. The maximal dimension D
is known by the compiler, which triggers some optimizations. Or
Dynamic_dimension_tag
. In this case, the maximum dimension of the simplices (full cells) is passed as an integer argument to an instance constructor (see TriangulationDataStructure
).The template parameter TriangulationDSVertex
stands for a class to be used as the base Vertex
type in the triangulation data structure. It must be a model of the concept TriangulationDSVertex
. The class template Triangulation_data_structure
can be defined by specifying only the first parameter. It also accepts the tag CGAL::Default
as second parameter. In both cases, TriangulationDSVertex
defaults to CGAL::Triangulation_ds_vertex<>
.
The template parameter TriangulationDSFullCell
stands for a class to be used as the base Full_cell
type in the triangulation data structure. It must be a model of the concept TriangulationDSFullCell
. The class template Triangulation_data_structure
accepts that no third parameter be specified. It also accepts the tag CGAL::Default
as third parameter. In both cases, TriangulationDSFullCell
defaults to CGAL::Triangulation_ds_full_cell<>
.
TriangulationDataStructure
. In addition, the class Triangulation_data_structure
provides the following types and methods.Creation | |
Triangulation_data_structure (const Triangulation_data_structure &t2) | |
The copy constructor. More... | |
Validity check | |
bool | is_valid (bool verbose=true) const |
Implements the validity checks required by the concept TriangulationDataStructure . More... | |
Types | |
template<typename Vb2 > | |
using | Rebind_vertex = unspecified_type |
Advanced This template class allows to get the type of a triangulation data structure that only changes the vertex type. More... | |
template<typename Fcb2 > | |
using | Rebind_full_cell = unspecified_type |
Advanced This template class allows to get the type of a triangulation data structure that only changes the full cell type. More... | |
Vertex insertion | |
template<OutputIterator > | |
Full_cell_handle | insert_in_tagged_hole (Vertex_handle v, Facet f, OutputIterator new_full_cells) |
Advanced A set C of full cells satisfying the same condition as in method Triangulation_data_structure::insert_in_hole() is assumed to be marked. More... | |
using CGAL::Triangulation_data_structure< Dimensionality, TriangulationDSVertex, TriangulationDSFullCell >::Rebind_full_cell = unspecified_type |
It has to define a type Other
which is a rebound triangulation data structure with Fcb2
as full cell type.
using CGAL::Triangulation_data_structure< Dimensionality, TriangulationDSVertex, TriangulationDSFullCell >::Rebind_vertex = unspecified_type |
It has to define a type Other
which is a rebound triangulation data structure with Vb2
as vertex type.
CGAL::Triangulation_data_structure< Dimensionality, TriangulationDSVertex, TriangulationDSFullCell >::Triangulation_data_structure | ( | const Triangulation_data_structure< Dimensionality, TriangulationDSVertex, TriangulationDSFullCell > & | t2) |
The copy constructor.
Creates a copy of the Triangulation_data_structure
t2
passed as argument. All vertices and full cells are duplicated.
Full_cell_handle CGAL::Triangulation_data_structure< Dimensionality, TriangulationDSVertex, TriangulationDSFullCell >::insert_in_tagged_hole | ( | Vertex_handle | v, |
Facet | f, | ||
OutputIterator | new_full_cells | ||
) |
C
of full cells satisfying the same condition as in method Triangulation_data_structure::insert_in_hole()
is assumed to be marked.
This method creates new full cells from vertex v
to the boundary of C
. The boundary is recognized by checking the mark of the full cells. This method is used by Triangulation_data_structure::insert_in_hole()
. s
TriangulationDataStructure::insert_in_hole()
bool CGAL::Triangulation_data_structure< Dimensionality, TriangulationDSVertex, TriangulationDSFullCell >::is_valid | ( | bool | verbose = true ) | const |
Implements the validity checks required by the concept TriangulationDataStructure
.
Note that passing all these tests does not guarantee that we have a triangulation (abstract pure simplicial complex).