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.
CGAL::Cartesian<FieldNumberType>
CGAL::Homogeneous<RingNumberType>
CGAL::Simple_cartesian<FieldNumberType>
CGAL::Simple_homogeneous<RingNumberType>
CGAL::Filtered_kernel<CK>
CGAL::Exact_predicates_exact_constructions_kernel
CGAL::Exact_predicates_exact_constructions_kernel_with_sqrt
CGAL::Exact_predicates_inexact_constructions_kernel
| |
a model of FieldNumberType
| |
| |
a model of RingNumberType
|
The following types describe the return types of predicates. They typically map to bool and Cgal kernel enum types, except when an interval arithmetic number type is used such as within the filtering kernels, in which case it is Uncertain<bool> or similar.
| |
bool or Uncertain<bool>
| |
| |
CGAL::Sign or Uncertain<CGAL::Sign>
| |
| |
CGAL::Comparison_result or Uncertain<CGAL::Comparison_result>
| |
| |
CGAL::Orientation or Uncertain<CGAL::Orientation>
| |
| |
CGAL::Oriented_side or Uncertain<CGAL::Oriented_side>
| |
| |
CGAL::Bounded_side or Uncertain<CGAL::Bounded_side>
| |
| |
CGAL::Angle or Uncertain<CGAL::Angle>
|
|
| A Boolean value indicating whether the predicates are filtered (as in Filtered_kernel). This helps propagating such decisions to traits classes which are built on top of a kernel, so that they can decide to filter their own predicates or not. |
| |
a model of Kernel::CartesianConstIterator_2
|
| |
a model of Kernel::Point_2
| |
| |
a model of Kernel::Vector_2
| |
| |
a model of Kernel::Direction_2
| |
| |
a model of Kernel::Line_2
| |
| |
a model of Kernel::Ray_2
| |
| |
a model of Kernel::Segment_2
| |
| |
a model of Kernel::Triangle_2
| |
| |
a model of Kernel::IsoRectangle_2
| |
| |
a model of Kernel::Circle_2
| |
| |
a model of Kernel::Object_2
|
| |
a model of Kernel::ConstructPoint_2
| |
| |
a model of Kernel::ConstructVector_2
| |
| |
a model of Kernel::ConstructDirection_2
| |
| |
a model of Kernel::ConstructSegment_2
| |
| |
a model of Kernel::ConstructLine_2
| |
| |
a model of Kernel::ConstructRay_2
| |
| |
a model of Kernel::ConstructCircle_2
| |
| |
a model of Kernel::ConstructTriangle_2
| |
| |
a model of Kernel::ConstructIsoRectangle_2
| |
| |
a model of Kernel::ConstructObject_2
| |
| |
a model of Kernel::ConstructScaledVector_2
| |
| |
a model of Kernel::ConstructTranslatedPoint_2
| |
| |
a model of Kernel::ConstructPointOn_2
| |
| |
a model of Kernel::ConstructProjectedPoint_2
| |
| |
a model of Kernel::ConstructProjectedXYPoint_2
| |
| |
a model of Kernel::ConstructCartesianConstIterator_2
| |
| |
a model of Kernel::ConstructVertex_2
| |
| |
a model of Kernel::ConstructBbox_2
| |
| |
a model of Kernel::ConstructPerpendicularVector_2
| |
| |
a model of Kernel::ConstructPerpendicularDirection_2
| |
| |
a model of Kernel::ConstructPerpendicularLine_2
| |
| |
a model of Kernel::ConstructMaxVertex_2
| |
| |
a model of Kernel::ConstructMidpoint_2
| |
| |
a model of Kernel::ConstructEquidistantLine_3
| |
| |
a model of Kernel::ConstructMinVertex_2
| |
| |
a model of Kernel::ConstructCenter_2
| |
| |
a model of Kernel::ConstructCentroid_2
| |
| |
a model of Kernel::ConstructCircumcenter_2
| |
| |
a model of Kernel::ConstructBisector_2
| |
| |
a model of Kernel::ConstructOppositeDirection_2
| |
| |
a model of Kernel::ConstructOppositeSegment_2
| |
| |
a model of Kernel::ConstructOppositeRay_2
| |
| |
a model of Kernel::ConstructOppositeLine_2
| |
| |
a model of Kernel::ConstructOppositeTriangle_2
| |
| |
a model of Kernel::ConstructOppositeCircle_2
| |
| |
a model of Kernel::ConstructOppositeVector_2
|
If the result type is not determined, there is no Construct_ prefix:
| |
a model of Kernel::Intersect_2
| |
| |
a model of Kernel::Assign_2
|
If the result type is a number type, the prefix is Compute_:
| |
a model of Kernel::ComputeSquaredDistance_2
| |
| |
a model of Kernel::ComputeSquaredLength_2
| |
| |
a model of Kernel::ComputeSquaredRadius_2
| |
| |
a model of Kernel::ComputeArea_2
|
| |
a model of Kernel::Angle_2
| |
| |
a model of Kernel::Equal_2
| |
| |
a model of Kernel::EqualX_2
| |
| |
a model of Kernel::EqualY_2
| |
| |
a model of Kernel::LessX_2
| |
| |
a model of Kernel::LessY_2
| |
| |
a model of Kernel::LessXY_2
| |
| |
a model of Kernel::LessYX_2
| |
| |
a model of Kernel::CompareX_2
| |
| |
a model of Kernel::CompareXAtY_2
| |
| |
a model of Kernel::CompareY_2
| |
| |
a model of Kernel::CompareXY_2
| |
| |
a model of Kernel::CompareYX_2
| |
| |
a model of Kernel::CompareYAtX_2
| |
| |
a model of Kernel::CompareDistance_2
| |
| |
a model of Kernel::CompareAngleWithXAxis_2
| |
| |
a model of Kernel::CompareSlope_2
| |
| |
a model of Kernel::LessDistanceToPoint_2
| |
| |
a model of Kernel::LessSignedDistanceToLine_2
| |
| |
a model of Kernel::LessRotateCCW_2
| |
| |
a model of Kernel::LeftTurn_2
| |
| |
a model of Kernel::Collinear_2
| |
| |
a model of Kernel::Orientation_2
| |
| |
a model of Kernel::SideOfOrientedCircle_2
| |
| |
a model of Kernel::SideOfBoundedCircle_2
| |
| |
a model of Kernel::IsHorizontal_2
| |
| |
a model of Kernel::IsVertical_2
| |
| |
a model of Kernel::IsDegenerate_2
| |
| |
a model of Kernel::HasOn_2
| |
| |
a model of Kernel::CollinearHasOn_2
| |
| |
a model of Kernel::HasOnBoundedSide_2
| |
| |
a model of Kernel::HasOnUnboundedSide_2
| |
| |
a model of Kernel::HasOnBoundary_2
| |
| |
a model of Kernel::HasOnPositiveSide_2
| |
| |
a model of Kernel::HasOnNegativeSide_2
| |
| |
a model of Kernel::OrientedSide_2
| |
| |
a model of Kernel::BoundedSide_2
| |
| |
a model of Kernel::AreParallel_2
| |
| |
a model of Kernel::AreOrderedAlongLine_2
| |
| |
a model of Kernel::AreStrictlyOrderedAlongLine_2
| |
| |
a model of Kernel::CollinearAreOrderedAlongLine_2
| |
| |
a model of Kernel::CollinearAreStrictlyOrderedAlongLine_2
| |
| |
a model of Kernel::CounterclockwiseInBetween_2
| |
| |
a model of Kernel::DoIntersect_2
|
| |
a model of Kernel::CartesianConstIterator_3
|
| |
a model of Kernel::Point_3
| |
| |
a model of Kernel::Vector_3
| |
| |
a model of Kernel::Direction_3
| |
| |
a model of Kernel::IsoCuboid_3
| |
| |
a model of Kernel::Line_3
| |
| |
a model of Kernel::Ray_3
| |
| |
a model of Kernel::Circle_3
| |
| |
a model of Kernel::Sphere_3
| |
| |
a model of Kernel::Segment_3
| |
| |
a model of Kernel::Plane_3
| |
| |
a model of Kernel::Triangle_3
| |
| |
a model of Kernel::Tetrahedron_3
| |
| |
a model of Kernel::Object_3
|
| |
a model of Kernel::ConstructPoint_3
| |
| |
a model of Kernel::ConstructVector_3
| |
| |
a model of Kernel::ConstructDirection_3
| |
| |
a model of Kernel::ConstructPlane_3
| |
| |
a model of Kernel::ConstructIsoCuboid_3
| |
| |
a model of Kernel::ConstructLine_3
| |
| |
a model of Kernel::ConstructRay_3
| |
| |
a model of Kernel::ConstructSphere_3
| |
| |
a model of Kernel::ConstructSegment_3
| |
| |
a model of Kernel::ConstructTriangle_3
| |
| |
a model of Kernel::ConstructTetrahedron_3
| |
| |
a model of Kernel::ConstructObject_3
| |
| |
a model of Kernel::ConstructScaledVector_3
| |
| |
a model of Kernel::ConstructTranslatedPoint_3
| |
| |
a model of Kernel::ConstructPointOn_3
| |
| |
a model of Kernel::ConstructProjectedPoint_3
| |
| |
a model of Kernel::ConstructLiftedPoint_3
| |
| |
a model of Kernel::ConstructCartesianConstIterator_3
| |
| |
a model of Kernel::ConstructVertex_3
| |
| |
a model of Kernel::ConstructBbox_3
| |
| |
a model of Kernel::ConstructSupportingPlane_3
| |
| |
a model of Kernel::ConstructOrthogonalVector_3
| |
| |
a model of Kernel::ConstructBaseVector_3
| |
| |
a model of Kernel::ConstructPerpendicularPlane_3
| |
| |
a model of Kernel::ConstructRadicalPlane_3
| |
| |
a model of Kernel::ConstructPerpendicularLine_3
| |
| |
a model of Kernel::ConstructMidpoint_3
| |
| |
a model of Kernel::ConstructCenter_3
| |
| |
a model of Kernel::ConstructCentroid_3
| |
| |
a model of Kernel::ConstructCircumcenter_3
| |
| |
a model of Kernel::ConstructBisector_3
| |
| |
a model of Kernel::ConstructCrossProductVector_3
| |
| |
a model of Kernel::ConstructOppositeDirection_3
| |
| |
a model of Kernel::ConstructOppositeSegment_3
| |
| |
a model of Kernel::ConstructOppositeRay_3
| |
| |
a model of Kernel::ConstructOppositeLine_3
| |
| |
a model of Kernel::ConstructOppositePlane_3
| |
| |
a model of Kernel::ConstructOppositeSphere_3
| |
| |
a model of Kernel::ConstructOppositeVector_3
|
If the result type is not determined, there is no Construct_ prefix:
| |
a model of Kernel::Intersect_3
| |
| |
a model of Kernel::Assign_3
|
If the result type is a number type, the prefix is Compute_:
| |
a model of Kernel::ComputeArea_3
| |
| |
a model of Kernel::ComputeSquaredArea_3
| |
| |
a model of Kernel::ComputeAreaDividedByPi_3
| |
| |
a model of Kernel::ComputeApproximateArea_3
| |
| |
a model of Kernel::ComputeSquaredDistance_3
| |
| |
a model of Kernel::ComputeSquaredLength_3
| |
| |
a model of Kernel::ComputeSquaredLengthDividedByPiSquare_3
| |
| |
a model of Kernel::ComputeApproximateSquaredLength_3
| |
| |
a model of Kernel::ComputeSquaredRadius_3
| |
| |
a model of Kernel::ComputeVolume_3
|
| |
a model of Kernel::Angle_3
| |
| |
a model of Kernel::Equal_3
| |
| |
a model of Kernel::EqualX_3
| |
| |
a model of Kernel::EqualY_3
| |
| |
a model of Kernel::EqualZ_3
| |
| |
a model of Kernel::EqualXY_3
| |
| |
a model of Kernel::LessX_3
| |
| |
a model of Kernel::LessY_3
| |
| |
a model of Kernel::LessZ_3
| |
| |
a model of Kernel::LessXY_3
| |
| |
a model of Kernel::LessXYZ_3
| |
| |
a model of Kernel::CompareX_3
| |
| |
a model of Kernel::CompareY_3
| |
| |
a model of Kernel::CompareZ_3
| |
| |
a model of Kernel::CompareXY_3
| |
| |
a model of Kernel::CompareXYZ_3
| |
| |
a model of Kernel::LessSignedDistanceToPlane_3
| |
| |
a model of Kernel::LessDistanceToPoint_3
| |
| |
a model of Kernel::CompareDihedralAngle_3
| |
| |
a model of Kernel::CompareDistance_3
| |
| |
a model of Kernel::Collinear_3
| |
| |
a model of Kernel::Coplanar_3
| |
| |
a model of Kernel::Orientation_3
| |
| |
a model of Kernel::CoplanarOrientation_3
| |
| |
a model of Kernel::CoplanarSideOfBoundedCircle_3
| |
| |
a model of Kernel::SideOfOrientedSphere_3
| |
| |
a model of Kernel::SideOfBoundedSphere_3
| |
| |
a model of Kernel::IsDegenerate_3
| |
| |
a model of Kernel::HasOn_3
| |
| |
a model of Kernel::HasOnBoundedSide_3
| |
| |
a model of Kernel::HasOnUnboundedSide_3
| |
| |
a model of Kernel::HasOnBoundary_3
| |
| |
a model of Kernel::HasOnPositiveSide_3
| |
| |
a model of Kernel::HasOnNegativeSide_3
| |
| |
a model of Kernel::OrientedSide_3
| |
| |
a model of Kernel::BoundedSide_3
| |
| |
a model of Kernel::AreParallel_3
| |
| |
a model of Kernel::AreOrderedAlongLine_3
| |
| |
a model of Kernel::AreStrictlyOrderedAlongLine_3
| |
| |
a model of Kernel::CollinearAreOrderedAlongLine_3
| |
| |
a model of Kernel::CollinearAreStrictlyOrderedAlongLine_3
| |
| |
a model of Kernel::DoIntersect_3
|
For each of the function objects above, there must exist a member function that requires no arguments and returns an instance of that function object. The name of the member function is the uncapitalized name of the type returned with the suffix _object appended. For example, for the function object Kernel::Construct_vector_2 the following member function must exist:
|
|