CGAL 6.0 - 2D Periodic Hyperbolic Triangulations
|
TriangulationFaceBase_2
A refinement of the concept TriangulationFaceBase_2
that adds an interface for hyperbolic translations.
At the base level, a face stores handles to its incident vertices and to its neighboring faces. Compare with Section Software Design of the 2D Triangulations package. The vertices and neighbors are indexed counter-clockwise 0, 1, and 2. Neighbor i
lies opposite to vertex i
.
For periodic hyperbolic triangulations, the face base class needs to store three hyperbolic translations, one for each vertex. Applying each translation to the point stored in the corresponding vertex produces the canonical representative of the face in the hyperbolic plane. Hyperbolic translations are represented by a nested type which is provided by the concept Periodic_4HyperbolicDelaunayTriangulationTraits_2
.
Types | |
typedef Periodic_4HyperbolicDelaunayTriangulationTraits_2 | Geometric_traits |
typedef Geometric_traits::Hyperbolic_translation | Hyperbolic_translation |
Access functions | |
Hyperbolic_translation | translation (int i) const |
Returns the translation corresponding to the vertex i . | |
void | set_translation (const int &i, const Hyperbolic_translation &new_tr) |
Sets the i -th translation to new_tr . | |
void | reorient () |
Changes the orientation of the face by exchanging vertex(0) with vertex(1) , neighbor(0) with neighbor(1) , and translation(0) with translation(1) . | |
void Periodic_4HyperbolicTriangulationFaceBase_2::reorient | ( | ) |
Changes the orientation of the face by exchanging vertex(0)
with vertex(1)
, neighbor(0)
with neighbor(1)
, and translation(0)
with translation(1)
.
void Periodic_4HyperbolicTriangulationFaceBase_2::set_translation | ( | const int & | i, |
const Hyperbolic_translation & | new_tr | ||
) |
Sets the i
-th translation to new_tr
.
Hyperbolic_translation Periodic_4HyperbolicTriangulationFaceBase_2::translation | ( | int | i | ) | const |
Returns the translation corresponding to the vertex i
.