#include <CGAL/Spherical_kernel_3.h>
The first parameter of the spherical kernel must be instantiated with a model of the Kernel concept. The Spherical_kernel_3 class template derives from this first parameter, in order to reuse all needed functionalities on basic objects provided by a model of the Kernel concept.
The second parameter, AlgebraicKernelForSpheres, is meant to provide the spherical kernel with all the algebraic functionalities required for the manipulation of algebraic curves.
The spherical kernel uses basic number types of the algebraic kernel:
typedef AlgebraicKernelForSpheres::RT | ||
RT; | Ring number type. | |
typedef AlgebraicKernelForSpheres::FT | ||
FT; | Field number type. |
In fact, the two number types AlgebraicKernelForSpheres::RT and Kernel::RT must refer to the same type, as well as AlgebraicKernelForSpheres::FT and Kernel::FT.
The following types are available, as well as all the functionality on them described in the SphericalKernel concept.
typedef Line_arc_3<Spherical_kernel_3> | ||
Line_arc_3; | ||
typedef Circular_arc_3<Spherical_kernel_3> | ||
Circular_arc_3; | ||
typedef Circular_arc_point_3<Spherical_kernel_3> | ||
Circular_arc_point_3; |
Polynomials_for_circle_3 is implemented as a std::pair< Polynomial_for_spheres_2_3, Polynomial_1_3 > and is a model of AlgebraicKernelForSpheres::PolynomialsForCircles_3.
Kernel
AlgebraicKernelForSpheres
CGAL::Exact_spherical_kernel_3