CGAL 4.4 - 2D Triangulation Data Structure
|
The concept TriangulationDataStructure_2::Face
describes the types used to store the faces face class of a TriangulationDataStructure_2
. A TriangulationDataStructure_2::Face
stores three handles to its three vertices and three handles to its three neighbors. The vertices are indexed 0,1, and 2 in counterclockwise order. The neighbor indexed i
lies opposite to vertex i
.
In degenerate cases, when the triangulation data structure stores a simplicial complex of dimension 0
and 1
, the type TriangulationDataStructure_2::Face
is used to store the faces of maximal dimension of the complex, i.e., a vertex in dimension 0
, an edge in dimension 1
. Only vertices and neighbors with index 0
are set in the first case, only vertices and neighbors with index 0
or 1
are set in the second case.
Types
The class TriangulationDataStructure_2::Face
defines the same types as the triangulation data structure except the iterators and the circulators.
Creation
The methods create_face()
and delete_face()
have to be used to define new faces and to delete no longer used faces.
Vertex Access Functions | |
Vertex_handle | vertex (int i) const |
returns the vertex i of the face. More... | |
int | index (Vertex_handle v) const |
returns the index of vertex v in the face. More... | |
bool | has_vertex (Vertex_handle v) const |
returns true if v is a vertex of the face. | |
bool | has_vertex (Vertex_handle v, int &i) const |
returns true if v is a vertex of the face, and computes the index i of v in the face. | |
Neighbor Access Functions | |
The neighbor with index | |
Face_handle | neighbor (int i) const |
returns the neighbor i of the face. More... | |
int | index (Face_handle n) const |
returns the index of face n . More... | |
bool | has_neighbor (Face_handle n) const |
returns true if n is a neighbor of the face. | |
bool | has_neighbor (Face_handle n, int &i) const |
returns true if n is a neighbor of the face, and compute the index i of n . | |
Setting | |
void | set_vertex (int i, Vertex_handle v) |
sets vertex i to be v . More... | |
void | set_neighbor (int i, Face_handle n) |
sets neighbor i to be n . More... | |
void | set_vertices () |
sets the vertex handles to Vertex_handle() . | |
void | set_vertices (Vertex_handle v0, Vertex_handle v1, Vertex_handle v2) |
sets the vertex handles. | |
void | set_neighbors () |
sets the neighbors handles to Face_handle() . | |
void | set_neighbors (Face_handle n0, Face_handle n1, Face_handle n2) |
sets the neighbors handles. | |
Checking | |
bool | is_valid () const |
returns true if the function is_valid() of the base class returns true and if, for each index \( i\), \( 0 \le i < 3\), the face is a neighbor of its neighboring face neighbor(i) and shares with this neighbor the vertices cw(i) and ccw(i) in correct reverse order. | |
Miscellaneous | |
int | ccw (int i) const |
Returns \( i+1\) modulo 3, with \( 0\leq i \leq2\). | |
int | cw (int i) const |
Returns \( i+2\) modulo 3, with \( 0\leq i \leq2\). | |
std::istream & | operator>> (std::istream &is, TriangulationDataStructure_2::Face &f) |
Inputs any non combinatorial information possibly stored in the face. | |
std::ostream & | operator<< (std::ostream &os, const TriangulationDataStructure_2::Face &f) |
Outputs any non combinatorial information possibly stored in the face. | |
int TriangulationDataStructure_2::Face::index | ( | Vertex_handle | v) | const |
returns the index of vertex v
in the face.
v
is a vertex of the face. int TriangulationDataStructure_2::Face::index | ( | Face_handle | n) | const |
returns the index of face n
.
n
is a neighbor of the face. Face_handle TriangulationDataStructure_2::Face::neighbor | ( | int | i) | const |
returns the neighbor i
of the face.
void TriangulationDataStructure_2::Face::set_neighbor | ( | int | i, |
Face_handle | n | ||
) |
sets neighbor i
to be n
.
void TriangulationDataStructure_2::Face::set_vertex | ( | int | i, |
Vertex_handle | v | ||
) |
sets vertex i
to be v
.
Vertex_handle TriangulationDataStructure_2::Face::vertex | ( | int | i) | const |
returns the vertex i
of the face.