The class Triangulation_data_structure_2<Vb,Fb> is a model for the TriangulationDataStructure_2 concept. It can be used to represent an orientable 2D triangulation embedded in a space of any dimension.
The vertices and faces are stored in two nested containers, which are implemented using CGAL::Compact_container. The class may offer some flexibility for the choice of container in the future, in the form of additional template parameters.
#include <CGAL/Triangulation_data_structure_2.h>
In addition to the interface documented in the concept, the class offers the following types and functions.
| ||
| Vertex container type. | |
| ||
| Face container type. |
In addition to the modifiers required by the TriangulationDataStructure_2 concept, the Triangulation_data_structure_2<Vb,Fb> class supports also the modifiers below. Note also that the modifiers below guarantee the combinatorial validity of the resulting data structure.
|
| |||
Joins
the vertices that are endpoints of the edge (f,i). It returns
a vertex handle to common vertex (see
Fig. 37.6).
| ||||
|
| Joins the vertices that are endpoints of the edge e. It returns a vertex handle to common vertex. | ||
|
| |||
Joins the vertices that are endpoints of the edge *eit. It returns a vertex handle to common vertex. | ||||
|
| |||
Joins the vertices that are endpoints of the edge *ec. It returns a vertex handle to common vertex. | ||||
| ||||
| ||||
Splits the vertex v into two vertices v1 and
v2. The common faces f and g of v1 and
v2 are created after (in the counter-clockwise sense) the
faces f1 and f2. The 4-tuple (v1,v2,f,g) is
returned (see Fig. 37.6).
| ||||
|
| |||
Inserts a degree two vertex and two faces adjacent to it that have two common edges. The edge defined by the face handle f and the integer i is duplicated. It returns a handle to the vertex created (see Fig. 37.7). | ||||
|
| |||
Removes a degree 2
vertex and the two faces adjacent to it. The two edges of the star of
v that are not incident to it are collapsed
(see Fig. 37.7).
|