\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)
CGAL 4.12.1 - 2D and 3D Linear Geometry Kernel
CGAL::Homogeneous_converter< K1, K2, RTConverter, FTConverter > Class Template Reference

#include <CGAL/Homogeneous_converter.h>

Definition

Homogeneous_converter converts objects from the kernel traits K1 to the kernel traits K2.

Those traits must be of the form Homogeneous<RT1> and Homogeneous<RT2> (or the equivalent with Simple_homogeneous). It then provides the following operators to convert objects from K1 to K2.

The third template parameter RTConverter is a function object that must provide K2::RT operator()(const K1::RT &n); that converts n to an K2::RT that has the same value.

The default value of this parameter is CGAL::NT_converter<K1::RT, K2::RT>, which uses the conversion operator from K1::RT to K2::RT.

Similarly, the fourth template parameter must provide K2::FT operator()(const K1::FT &n); that converts n to an K2::FT that has the same value. Its default value is CGAL::NT_converter<K1::FT, K2::FT>.

See also
CGAL::Homogeneous<RingNumberType>
CGAL::Simple_homogeneous<RingNumberType>

Creation

 Homogeneous_converter ()
 Default constructor.
 

Operations

Similar operators as the one shown are defined for the other kernel traits geometric types Point_3, Vector_2...

K2::Point_2 operator() (const K1::Point_2 &p)
 returns a K2::Point_2 which coordinates are those of p, converted by RTConverter.