CGAL 5.5.1  2D and 3D Linear Geometry Kernel

#include <CGAL/Homogeneous.h>
A model for a Kernel
using homogeneous coordinates to represent the geometric objects.
In order for Homogeneous
to model Euclidean geometry in \( E^2\) and/or \( E^3\), for some mathematical ring \( E\) (e.g., the integers \(\mathbb{Z}\) or the rationals \(\mathbb{Q}\)), the template parameter RingNumberType
must model the mathematical ring \( E\). That is, the ring operations on this number type must compute the mathematically correct results. If the number type provided as a model for RingNumberType
is only an approximation of a ring (such as the builtin type double
), then the geometry provided by the kernel is only an approximation of Euclidean geometry.
Implementation
This model of a kernel uses reference counting.
Types  
typedef Quotient< RingNumberType >  FT 
typedef RingNumberType  RT 