CGAL 5.0.3 - dD Geometry Kernel
|
#include <CGAL/Epeck_d.h>
A model for Kernel_d
, minus Kernel_d::Point_of_sphere_d
, that uses Cartesian coordinates to represent the geometric objects.
This kernel is default constructible and copyable. It does not carry any state so it is possible to use objects created by one instance with functors created by another one.
This kernel supports construction of points from double
Cartesian coordinates. It provides exact geometric predicates and constructions. The geometric predicates are made exact without sacrificing speed thanks to the use of filters. The geometric constructions are made exact without sacrificing speed thanks to a lazy mechanism, similar to Exact_predicates_exact_constructions_kernel
. A construction creates an approximate object, and stores a directed acyclic graph (DAG) of the operation and arguments used. When an operation needs more precision on an object than is currently available, which should be rare, CGAL reconstructs exactly all the ancestors of the object and replaces this part of the graph with exact objects. This should be transparent for users, those details do not affect the functionality, but they can cause surprising running time where the costly part of an algorithm is not the construction itself, but a seemingly trivial use afterwards that causes exact reconstruction of a large part of the structure.
Sphere_d
is represented internally with a center and a squared radius, and the exact type used by the kernel is a rational type. This means that Kernel_d::Point_of_sphere_d
cannot be implemented exactly in dimensions up to 3 (higher dimensions would require a decomposition of an integer as a sum of d
squares), so currently it is not provided at all.
DimensionTag | is a tag representing the dimension of the ambient Euclidean space. It may be either Dimension_tag<d> where d is an integer or Dynamic_dimension_tag . In the latter case, the dimension of the space is specified for each point when it is constructed, so it does not need to be known at compile-time. |
Kernel_d::Intersect_d
is not yet implemented. Kernel_d::Contained_in_affine_hull
assumes that the iterators refer to an affinely independent family. Kernel_d::Orientation_d
only works for points, not vectors. Visual Studio 2015 is not supported.CGAL::Cartesian_d<FieldNumberType>
CGAL::Homogeneous_d<RingNumberType>
CGAL::Epick_d<DimensionTag>
Classes | |
class | Compute_squared_radius_d |
class | Construct_circumcenter_d |
class | Point_d |
represents a point in the Euclidean space More... | |
class | Side_of_bounded_sphere_d |
class | Weighted_point_d |
represents a weighted point in the Euclidean space More... | |
Public Member Functions | |
Construct_circumcenter_d | construct_circumcenter_d_object () |
Compute_squared_radius_d | compute_squared_radius_d_object () |