|
CGAL 6.1 - 2D Triangulations on Hyperbolic Surfaces
|
#include <CGAL/Hyperbolic_fundamental_domain_2.h>
represents a fundamental domain of a closed orientable hyperbolic surface.
The domain is given as a polygon \( P \) represented by the list of its vertices in the Poincaré disk model, together with a pairing of the sides of \( P \). The \( n \)-th side of \( P \) is the side between the \( n \)-th and the \( (n+1) \)-th vertex, where indices are modulo the number of vertices of \( P \). The side pairings are represented by a list of integers, such that if the \( n \)-th integer of the list is \( m \), then the \( n \)-th side is paired to the \( m \)-th side.
| Traits | must be a model of HyperbolicSurfaceTraits_2. |
Types | |
| typedef Traits::Hyperbolic_point_2 | Point |
| Point type. | |
Creation | |
| Hyperbolic_fundamental_domain_2 () | |
| Default constructor. | |
| template<class PointRange , class PairingRange > | |
| Hyperbolic_fundamental_domain_2 (PointRange &vertices, PairingRange &pairings) | |
| Constructor from vertices and pairings ranges. | |
Access Functions | |
| std::size_t | size () const |
| returns the number of vertices (equivalently, the number of sides) of the domain. | |
| const Point & | vertex (std::size_t i) const |
| returns the i-th vertex. | |
| std::size_t | paired_side (std::size_t i) const |
| returns the index of the side paired to the i-th side. | |
| Hyperbolic_isometry_2< Traits > | side_pairing (std::size_t i) const |
| returns the isometry that maps the side paired to side \( i \) to side \( i \). | |
Validity | |
| bool | is_valid () const |
| checks that the number of vertices is even, that there are as many side pairings as vertices, and that the vertices all lie within the open unit disk. | |
| CGAL::Hyperbolic_fundamental_domain_2< Traits >::Hyperbolic_fundamental_domain_2 | ( | PointRange & | vertices, |
| PairingRange & | pairings | ||
| ) |
Constructor from vertices and pairings ranges.
| PointRange | a model of the concepts RandomAccessContainer whose value_type is Point. |
| PairingRange | a model of the concepts RandomAccessContainer whose value_type is std::size_t. |
| std::size_t CGAL::Hyperbolic_fundamental_domain_2< Traits >::paired_side | ( | std::size_t | i | ) | const |
returns the index of the side paired to the i-th side.
is_valid() | Hyperbolic_isometry_2< Traits > CGAL::Hyperbolic_fundamental_domain_2< Traits >::side_pairing | ( | std::size_t | i | ) | const |
returns the isometry that maps the side paired to side \( i \) to side \( i \).
is_valid() | std::size_t CGAL::Hyperbolic_fundamental_domain_2< Traits >::size | ( | ) | const |
returns the number of vertices (equivalently, the number of sides) of the domain.
| const Point & CGAL::Hyperbolic_fundamental_domain_2< Traits >::vertex | ( | std::size_t | i | ) | const |
returns the i-th vertex.
is_valid()