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()