CGAL 6.1 - 2D Triangulations on Hyperbolic Surfaces

Loading...
Searching...
No Matches
List of all members | Public Member Functions
CGAL::Hyperbolic_isometry_2< Traits > Class Template Reference
Reference Manual » Main Classes

`#include <CGAL/Hyperbolic_isometry_2.h>`

## Definition

template<class Traits>
class CGAL::Hyperbolic_isometry_2< Traits >

represents an isometry in the Poincaré disk model.

The isometry \( f \) is represented by a list \( (c_0, c_1, c_2, c_3) \) of complex numbers, so that \( f(z) = (c_0 z + c_1) / (c_2 z + c_3) \) holds on every complex \( z \) in the open unit disk.

Functionalities are offered to compose isometries, and apply an isometry to a point.

Template Parameters

  Traits | must be a model of `HyperbolicSurfaceTraits_2`.

## Public Member Functions
void | set_to_identity ()
| sets the isometry to the identity.
void | set_coefficients (const Complex_number &c0, const Complex_number &c1, const Complex_number &c2, const Complex_number &c3)
| sets the coefficients of the isometry.
void | set_coefficient (int index, const Complex_number &coefficient)
| sets a particular coefficient of the isometry.

## Types
typedef Traits::Complex | Complex_number
| Complex number type.
typedef Traits::Hyperbolic_point_2 | Point
| Point type.

## Creation
| Hyperbolic_isometry_2 ()
| Default constructor to the identity.
| Hyperbolic_isometry_2 (const Complex_number &c0, const Complex_number &c1, const Complex_number &c2, const Complex_number &c3)
| Constructor from coefficients.

## Access Functions
const Complex_number & | get_coefficient (int index) const
| returns the index-th coefficient.

## Operations
Point | evaluate (const Point &p) const
| evaluates the isometry at point \( p \).
Point | operator() (const Point &p) const
| evaluates the isometry at point \( p \).
template<class Traits >
Hyperbolic_isometry_2< Traits > | operator* (const Hyperbolic_isometry_2< Traits > &iso1, const Hyperbolic_isometry_2< Traits > &iso2)
| returns the composition of two isometries.

## Member Function Documentation

## ◆ set_coefficient()

template<class Traits >

void CGAL::Hyperbolic_isometry_2< Traits >::set_coefficient | ( | int | index,
|  | const Complex_number & | coefficient
| ) |  |

sets a particular coefficient of the isometry.

Warning
  The implementation does not check that the resulting transformation is an isometry.

## ◆ set_coefficients()

template<class Traits >

void CGAL::Hyperbolic_isometry_2< Traits >::set_coefficients | ( | const Complex_number & | c0,
|  | const Complex_number & | c1,
|  | const Complex_number & | c2,
|  | const Complex_number & | c3
| ) |  |

sets the coefficients of the isometry.

Warning
  The implementation does not check that the resulting transformation is an isometry.