The concept of a kernel is defined by a set of requirements on the provision of certain types and access member functions to create objects of these types. The types are function object classes to be used within the algorithms and data structures in the basic library of CGAL. This allows you to use any model of a kernel as a traits class in the CGAL algorithms and data structures, unless they require types beyond those provided by a kernel.
Kernel_d subsumes the concept of a -dimensional kernel.
A kernel provides types, construction objects, and generalized predicates. The former replace constructors of the kernel classes and constructive procedures in the kernel. There are also function objects replacing operators, especially for equality testing.
| |
a number type that is a model for FieldNumberType
| |
| |
a number type that is a model for RingNumberType
|
| |
a type that allows to iterate over
the
Cartesian
coordinates
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
The following member functions return function objects of the types listed above. The name of the access function is the name of the type returned with an _object suffix and no capital letter at the beginning. We only give two examples to show the scheme. For the functors Construct_point_d and Orientation_d the corresponding functions are:
| ||
| ||
| ||
|
Cartesian_d<FieldNumberType>, Homogeneous_d<RingNumberType>