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 pointers to its three vertices and three pointers to its three neighbors. The vertices are indexed 0,1, and 2 in counterclockwise order. The neighbor indexed lies opposite to vertex i.
In degenerate cases, when the triangulation data structure stores a simplicial complex of dimension and , the type TriangulationDataStructure_2::Face is used to store the faces of maximal dimension of the complex : i.e. a vertex in dimension , an edge in dimension . Only vertices and neighbors with index are set in the first case, only vertices and neighbors with index or are set in the second case.
The methods create_face and delete_face() have to be used to define new faces and to delete non longer used faces.
The neighbor with index i is the neighbor which is opposite to the vertex with index i.
|
| |
index of f as a neighbor of f.neighbor(i) | ||
|
| |
vertex of f.neighbor(i) |
advanced |
|
| returns true if the function is_valid() of the base class returns true and if, for each index , , 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. |
advanced |
|
|
Returns modulo 3. Precondition: . |
|
|
Returns modulo 3. Precondition: . |