Concept

Kernel_d

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 d-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.

Types

Kernel_d::FT
a number type that is a model for FieldNumberType

Kernel_d::RT
a number type that is a model for RingNumberType

Coordinate Access

Kernel_d::Cartesian_const_iterator_d
a type that allows to iterate over the Cartesian coordinates

Geometric Objects

Kernel_d::Point_d
Kernel_d::Vector_d
Kernel_d::Direction_d
Kernel_d::Hyperplane_d
Kernel_d::Line_d
Kernel_d::Ray_d
Kernel_d::Segment_d
Kernel_d::Iso_box_d
Kernel_d::Sphere_d
Kernel_d::Aff_transformation_d

Constructions

Kernel_d::Barycentric_coordinates_d
Kernel_d::Center_of_sphere_d
a model of Kernel::Center_of_sphere_d

Kernel_d::Compute_coordinate_d
a model of Kernel::Compute_coordinate_d

Kernel_d::Construct_point_d
Kernel_d::Construct_vector_d
Kernel_d::Construct_direction_d
Kernel_d::Construct_hyperplane_d
Kernel_d::Construct_segment_d
Kernel_d::Construct_iso_box_d
Kernel_d::Construct_line_d
Kernel_d::Construct_ray_d
Kernel_d::Construct_sphere_d
Kernel_d::Construct_aff_transformation_d
Kernel_d::Construct_cartesian_const_iterator_d
a model of Kernel::ConstructCartesianConstIterator_d

Kernel_d::Intersect_d
a model of Kernel::Intersect_d

Kernel_d::Lift_to_paraboloid_d
a model of Kernel::Lift_to_paraboloid_d

Kernel_d::Linear_base_d
a model of Kernel::Linear_base_d

Kernel_d::Midpoint_d
a model of Kernel::Midpoint_d

Kernel_d::Orthogonal_vector_d
a model of Kernel::Orthogonal_vector_d

Kernel_d::Point_of_sphere_d
a model of Kernel::Point_of_sphere_d

Kernel_d::Point_to_vector_d
a model of Kernel::Point_to_vector_d

Kernel_d::Project_along_d_axis_d
a model of Kernel::Project_along_d_axis_d

Kernel_d::Squared_distance_d
a model of Kernel::Squared_distance_d

Kernel_d::Value_at_d
a model of Kernel::Value_at_d

Kernel_d::Vector_to_point_d
a model of Kernel::Vector_to_point_d

Generalized Predicates

Kernel_d::Affine_rank_d
a model of Kernel::Affine_rank_d

Kernel_d::Affinely_independent_d
a model of Kernel::Affinely_independent_d

Kernel_d::Compare_lexicographically_d
a model of Kernel::Compare_lexicographically_d

Kernel_d::Component_accessor_d
a model of Kernel::Component_accessor_d

Kernel_d::Contained_in_affine_hull_d
a model of Kernel::Contained_in_affine_hull_d

Kernel_d::Contained_in_linear_hull_d
a model of Kernel::Contained_in_linear_hull_d

Kernel_d::Contained_in_simplex_d
a model of Kernel::Contained_in_simplex_d

Kernel_d::Equal_d
a model of Kernel::Equal_d

Kernel_d::Has_on_positive_side_d
a model of Kernel::Has_on_positive_side_d

Kernel_d::Less_coordinate_d
a model of Kernel::Less_coordinate_d

Kernel_d::Less_lexicographically_d
a model of Kernel::Less_lexicographically_d

Kernel_d::Less_or_equal_lexicographically_d
a model of Kernel::Less_or_equal_lexicographically_d

Kernel_d::Linear_rank_d
a model of Kernel::Linear_rank_d

Kernel_d::Linearly_independent_d
a model of Kernel::Linearly_independent_d

Kernel_d::Orientation_d
a model of Kernel::Orientation_d

Kernel_d::Oriented_side_d
a model of Kernel::Oriented_side_d

Kernel_d::Point_dimension_d
a model of Kernel::Point_dimension_d

Kernel_d::Position_on_line_d
Kernel_d::Side_of_bounded_sphere_d
a model of Kernel::Side_of_bounded_sphere_d

Kernel_d::Side_of_oriented_sphere_d
a model of Kernel::Side_of_oriented_sphere_d

Operations

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:

Kernel::Construct_point_d kernel.construct_point_d_object () const
Kernel::Orientation_d kernel.orientation_d_object () const

Has Models

Cartesian_d<FieldNumberType>, Homogeneous_d<RingNumberType>