\( \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 - dD Geometry Kernel
Kernel_d Concept Reference

Definition

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.

Has Models:

CGAL::Cartesian_d<FieldNumberType>

CGAL::Homogeneous_d<RingNumberType>

CGAL::Epick_d<DimensionTag>

Concepts

conceptAffine_rank_d
 
conceptAffinely_independent_d
 
conceptCartesianConstIterator_d
 A type representing an iterator to the Cartesian coordinates of a point in d dimensions. More...
 
conceptCenter_of_sphere_d
 
conceptCompare_lexicographically_d
 
conceptComponent_accessor_d
 
conceptCompute_coordinate_d
 
conceptConstruct_max_vertex_d
 
conceptConstruct_min_vertex_d
 
conceptConstructCartesianConstIterator_d
 
conceptContained_in_affine_hull_d
 
conceptContained_in_linear_hull_d
 
conceptContained_in_simplex_d
 
conceptEqual_d
 
conceptHas_on_positive_side_d
 
conceptIntersect_d
 
conceptLess_coordinate_d
 
conceptLess_lexicographically_d
 
conceptLess_or_equal_lexicographically_d
 
conceptLinear_base_d
 
conceptLinear_rank_d
 
conceptLinearly_independent_d
 
conceptMidpoint_d
 
conceptOrientation_d
 
conceptOriented_side_d
 
conceptOrthogonal_vector_d
 
conceptPoint_dimension_d
 
conceptPoint_of_sphere_d
 
conceptPoint_to_vector_d
 
conceptSide_of_bounded_sphere_d
 
conceptSide_of_oriented_sphere_d
 
conceptSquared_distance_d
 
conceptValue_at_d
 
conceptVector_to_point_d
 

Types

typedef unspecified_type FT
 a number type that is a model for FieldNumberType
 
typedef unspecified_type RT
 a number type that is a model for RingNumberType
 
typedef unspecified_type Dimension
 the dimension of the ambient space. More...
 

Coordinate Access

typedef unspecified_type Cartesian_const_iterator_d
 a type that allows to iterate over the Cartesian coordinates
 

Geometric Objects

typedef unspecified_type Point_d
 
typedef unspecified_type Vector_d
 
typedef unspecified_type Direction_d
 
typedef unspecified_type Hyperplane_d
 
typedef unspecified_type Line_d
 
typedef unspecified_type Ray_d
 
typedef unspecified_type Segment_d
 
typedef unspecified_type Iso_box_d
 
typedef unspecified_type Sphere_d
 
typedef unspecified_type Aff_transformation_d
 

Constructions

typedef unspecified_type Barycentric_coordinates_d
 
typedef unspecified_type Center_of_sphere_d
 a model of Kernel_d::Center_of_sphere_d
 
typedef unspecified_type Compute_coordinate_d
 a model of Kernel_d::Compute_coordinate_d
 
typedef unspecified_type Construct_point_d
 
typedef unspecified_type Construct_vector_d
 
typedef unspecified_type Construct_direction_d
 
typedef unspecified_type Construct_hyperplane_d
 
typedef unspecified_type Construct_segment_d
 
typedef unspecified_type Construct_iso_box_d
 
typedef unspecified_type Construct_line_d
 
typedef unspecified_type Construct_ray_d
 
typedef unspecified_type Construct_sphere_d
 
typedef unspecified_type Construct_aff_transformation_d
 
typedef unspecified_type Construct_cartesian_const_iterator_d
 a model of Kernel_d::ConstructCartesianConstIterator_d
 
typedef unspecified_type Intersect_d
 a model of Kernel_d::Intersect_d
 
typedef unspecified_type Linear_base_d
 a model of Kernel_d::Linear_base_d
 
typedef unspecified_type Midpoint_d
 a model of Kernel_d::Midpoint_d
 
typedef unspecified_type Orthogonal_vector_d
 a model of Kernel_d::Orthogonal_vector_d
 
typedef unspecified_type Point_of_sphere_d
 a model of Kernel_d::Point_of_sphere_d
 
typedef unspecified_type Point_to_vector_d
 a model of Kernel_d::Point_to_vector_d
 
typedef unspecified_type Squared_distance_d
 a model of Kernel_d::Squared_distance_d
 
typedef unspecified_type Value_at_d
 a model of Kernel_d::Value_at_d
 
typedef unspecified_type Vector_to_point_d
 a model of Kernel_d::Vector_to_point_d
 

Generalized Predicates

typedef unspecified_type Affine_rank_d
 a model of Kernel_d::Affine_rank_d
 
typedef unspecified_type Affinely_independent_d
 a model of Kernel_d::Affinely_independent_d
 
typedef unspecified_type Compare_lexicographically_d
 a model of Kernel_d::Compare_lexicographically_d
 
typedef unspecified_type Component_accessor_d
 a model of Kernel_d::Component_accessor_d
 
typedef unspecified_type Contained_in_affine_hull_d
 a model of Kernel_d::Contained_in_affine_hull_d
 
typedef unspecified_type Contained_in_linear_hull_d
 a model of Kernel_d::Contained_in_linear_hull_d
 
typedef unspecified_type Contained_in_simplex_d
 a model of Kernel_d::Contained_in_simplex_d
 
typedef unspecified_type Equal_d
 a model of Kernel_d::Equal_d
 
typedef unspecified_type Has_on_positive_side_d
 a model of Kernel_d::Has_on_positive_side_d
 
typedef unspecified_type Less_coordinate_d
 a model of Kernel_d::Less_coordinate_d
 
typedef unspecified_type Less_lexicographically_d
 a model of Kernel_d::Less_lexicographically_d
 
typedef unspecified_type Less_or_equal_lexicographically_d
 a model of Kernel_d::Less_or_equal_lexicographically_d
 
typedef unspecified_type Linear_rank_d
 a model of Kernel_d::Linear_rank_d
 
typedef unspecified_type Linearly_independent_d
 a model of Kernel_d::Linearly_independent_d
 
typedef unspecified_type Orientation_d
 a model of Kernel_d::Orientation_d
 
typedef unspecified_type Oriented_side_d
 a model of Kernel_d::Oriented_side_d
 
typedef unspecified_type Point_dimension_d
 a model of Kernel_d::Point_dimension_d
 
typedef unspecified_type Position_on_line_d
 
typedef unspecified_type Side_of_bounded_sphere_d
 a model of Kernel_d::Side_of_bounded_sphere_d
 
typedef unspecified_type Side_of_oriented_sphere_d
 a model of Kernel_d::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_d::Construct_point_d construct_point_d_object () const
 
Kernel_d::Orientation_d orientation_d_object () const
 

Member Typedef Documentation

◆ Dimension

the dimension of the ambient space.

It must be either Dimension_tag<d> for some integer d or Dynamic_dimension_tag.