CGAL 6.0 - 2D and 3D Linear Geometry Kernel
|
Inherited by CGAL::Circular_kernel_2< typename Kernel, typename AlgebraicKernelForCircles >, and CGAL::Spherical_kernel_3< typename Kernel, typename AlgebraicKernelForSpheres >.
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 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.
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.
Naming convention of constructions
All constructions which result type is a geometric object are prefixed by Construct_
. If the result type is a number type, the name is prefixed by Compute_
. When the result type is not determined, no prefix is used.
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
Types | |
The following types describe the return types of predicates. They typically map to | |
typedef unspecified_type | FT |
a model of FieldNumberType | |
typedef unspecified_type | RT |
a model of RingNumberType | |
typedef unspecified_type | Boolean |
bool or Uncertain<bool> | |
typedef unspecified_type | Sign |
CGAL::Sign or Uncertain<CGAL::Sign> | |
typedef unspecified_type | Comparison_result |
CGAL::Comparison_result or Uncertain<CGAL::Comparison_result> | |
typedef unspecified_type | Orientation |
CGAL::Orientation or Uncertain<CGAL::Orientation> | |
typedef unspecified_type | Oriented_side |
CGAL::Oriented_side or Uncertain<CGAL::Oriented_side> | |
typedef unspecified_type | Bounded_side |
CGAL::Bounded_side or Uncertain<CGAL::Bounded_side> | |
typedef unspecified_type | Angle |
CGAL::Angle or Uncertain<CGAL::Angle> | |
Two-dimensional Coordinate Access | |
typedef unspecified_type | Cartesian_const_iterator_2 |
a model of Kernel::CartesianConstIterator_2 | |
Two-dimensional Geometric Objects | |
typedef unspecified_type | Point_2 |
a model of Kernel::Point_2 | |
typedef unspecified_type | Weighted_point_2 |
a model of Kernel::WeightedPoint_2 | |
typedef unspecified_type | Vector_2 |
a model of Kernel::Vector_2 | |
typedef unspecified_type | Direction_2 |
a model of Kernel::Direction_2 | |
typedef unspecified_type | Line_2 |
a model of Kernel::Line_2 | |
typedef unspecified_type | Ray_2 |
a model of Kernel::Ray_2 | |
typedef unspecified_type | Segment_2 |
a model of Kernel::Segment_2 | |
typedef unspecified_type | Triangle_2 |
a model of Kernel::Triangle_2 | |
typedef unspecified_type | Iso_rectangle_2 |
a model of Kernel::IsoRectangle_2 | |
typedef unspecified_type | Circle_2 |
a model of Kernel::Circle_2 | |
typedef unspecified_type | Object_2 |
a model of Kernel::Object_2 | |
Two-dimensional Generalized Predicates | |
typedef unspecified_type | Angle_2 |
a model of Kernel::Angle_2 | |
typedef unspecified_type | Equal_2 |
a model of Kernel::Equal_2 | |
typedef unspecified_type | Equal_x_2 |
a model of Kernel::EqualX_2 | |
typedef unspecified_type | Equal_y_2 |
a model of Kernel::EqualY_2 | |
typedef unspecified_type | Less_x_2 |
a model of Kernel::LessX_2 | |
typedef unspecified_type | Less_y_2 |
a model of Kernel::LessY_2 | |
typedef unspecified_type | Less_xy_2 |
a model of Kernel::LessXY_2 | |
typedef unspecified_type | Less_yx_2 |
a model of Kernel::LessYX_2 | |
typedef unspecified_type | Compare_x_2 |
a model of Kernel::CompareX_2 | |
typedef unspecified_type | Compare_x_at_y_2 |
a model of Kernel::CompareXAtY_2 | |
typedef unspecified_type | Compare_y_2 |
a model of Kernel::CompareY_2 | |
typedef unspecified_type | Compare_xy_2 |
a model of Kernel::CompareXY_2 | |
typedef unspecified_type | Compare_yx_2 |
a model of Kernel::CompareYX_2 | |
typedef unspecified_type | Compare_y_at_x_2 |
a model of Kernel::CompareYAtX_2 | |
typedef unspecified_type | Compare_distance_2 |
a model of Kernel::CompareDistance_2 | |
typedef unspecified_type | Compare_power_distance_2 |
a model of Kernel::ComparePowerDistance_2 | |
typedef unspecified_type | Compare_square_distance_2 |
a model of Kernel::CompareSquaredDistance_2 | |
typedef unspecified_type | Compare_angle_with_x_axis_2 |
a model of Kernel::CompareAngleWithXAxis_2 | |
typedef unspecified_type | Compare_signed_distance_to_line_2 |
a model of Kernel::CompareSignedDistanceToLine_2 | |
typedef unspecified_type | Compare_slope_2 |
a model of Kernel::CompareSlope_2 | |
typedef unspecified_type | Less_distance_to_point_2 |
a model of Kernel::LessDistanceToPoint_2 | |
typedef unspecified_type | Less_signed_distance_to_line_2 |
a model of Kernel::LessSignedDistanceToLine_2 | |
typedef unspecified_type | Less_rotate_ccw_2 |
a model of Kernel::LessRotateCCW_2 | |
typedef unspecified_type | Left_turn_2 |
a model of Kernel::LeftTurn_2 | |
typedef unspecified_type | Collinear_2 |
a model of Kernel::Collinear_2 | |
typedef unspecified_type | Orientation_2 |
a model of Kernel::Orientation_2 | |
typedef unspecified_type | Side_of_oriented_circle_2 |
a model of Kernel::SideOfOrientedCircle_2 | |
typedef unspecified_type | Side_of_bounded_circle_2 |
a model of Kernel::SideOfBoundedCircle_2 | |
typedef unspecified_type | Power_side_of_oriented_power_circle_2 |
a model of Kernel::PowerSideOfOrientedPowerCircle_2 | |
typedef unspecified_type | Power_side_of_bounded_power_circle_2 |
a model of Kernel::PowerSideOfBoundedPowerCircle_2 | |
typedef unspecified_type | Is_horizontal_2 |
a model of Kernel::IsHorizontal_2 | |
typedef unspecified_type | Is_vertical_2 |
a model of Kernel::IsVertical_2 | |
typedef unspecified_type | Is_degenerate_2 |
a model of Kernel::IsDegenerate_2 | |
typedef unspecified_type | Has_on_2 |
a model of Kernel::HasOn_2 | |
typedef unspecified_type | Collinear_has_on_2 |
a model of Kernel::CollinearHasOn_2 | |
typedef unspecified_type | Has_on_bounded_side_2 |
a model of Kernel::HasOnBoundedSide_2 | |
typedef unspecified_type | Has_on_unbounded_side_2 |
a model of Kernel::HasOnUnboundedSide_2 | |
typedef unspecified_type | Has_on_boundary_2 |
a model of Kernel::HasOnBoundary_2 | |
typedef unspecified_type | Has_on_positive_side_2 |
a model of Kernel::HasOnPositiveSide_2 | |
typedef unspecified_type | Has_on_negative_side_2 |
a model of Kernel::HasOnNegativeSide_2 | |
typedef unspecified_type | Oriented_side_2 |
a model of Kernel::OrientedSide_2 | |
typedef unspecified_type | Bounded_side_2 |
a model of Kernel::BoundedSide_2 | |
typedef unspecified_type | Are_parallel_2 |
a model of Kernel::AreParallel_2 | |
typedef unspecified_type | Are_ordered_along_line_2 |
a model of Kernel::AreOrderedAlongLine_2 | |
typedef unspecified_type | Are_strictly_ordered_along_line_2 |
a model of Kernel::AreStrictlyOrderedAlongLine_2 | |
typedef unspecified_type | Collinear_are_ordered_along_line_2 |
a model of Kernel::CollinearAreOrderedAlongLine_2 | |
typedef unspecified_type | Collinear_are_strictly_ordered_along_line_2 |
a model of Kernel::CollinearAreStrictlyOrderedAlongLine_2 | |
typedef unspecified_type | Counterclockwise_in_between_2 |
a model of Kernel::CounterclockwiseInBetween_2 | |
typedef unspecified_type | Do_intersect_2 |
a model of Kernel::DoIntersect_2 | |
Three-dimensional Coordinate Access | |
typedef unspecified_type | Cartesian_const_iterator_3 |
a model of Kernel::CartesianConstIterator_3 | |
Three-dimensional Geometric Objects | |
typedef unspecified_type | Point_3 |
a model of Kernel::Point_3 | |
typedef unspecified_type | Weighted_point_3 |
a model of Kernel::WeightedPoint_3 | |
typedef unspecified_type | Vector_3 |
a model of Kernel::Vector_3 | |
typedef unspecified_type | Direction_3 |
a model of Kernel::Direction_3 | |
typedef unspecified_type | Iso_cuboid_3 |
a model of Kernel::IsoCuboid_3 | |
typedef unspecified_type | Line_3 |
a model of Kernel::Line_3 | |
typedef unspecified_type | Ray_3 |
a model of Kernel::Ray_3 | |
typedef unspecified_type | Circle_3 |
a model of Kernel::Circle_3 | |
typedef unspecified_type | Sphere_3 |
a model of Kernel::Sphere_3 | |
typedef unspecified_type | Segment_3 |
a model of Kernel::Segment_3 | |
typedef unspecified_type | Plane_3 |
a model of Kernel::Plane_3 | |
typedef unspecified_type | Triangle_3 |
a model of Kernel::Triangle_3 | |
typedef unspecified_type | Tetrahedron_3 |
a model of Kernel::Tetrahedron_3 | |
typedef unspecified_type | Object_3 |
a model of Kernel::Object_3 | |
Three-dimensional Generalized Predicates | |
typedef unspecified_type | Angle_3 |
a model of Kernel::Angle_3 | |
typedef unspecified_type | Equal_3 |
a model of Kernel::Equal_3 | |
typedef unspecified_type | Equal_x_3 |
a model of Kernel::EqualX_3 | |
typedef unspecified_type | Equal_y_3 |
a model of Kernel::EqualY_3 | |
typedef unspecified_type | Equal_z_3 |
a model of Kernel::EqualZ_3 | |
typedef unspecified_type | Equal_xy_3 |
a model of Kernel::EqualXY_3 | |
typedef unspecified_type | Less_x_3 |
a model of Kernel::LessX_3 | |
typedef unspecified_type | Less_y_3 |
a model of Kernel::LessY_3 | |
typedef unspecified_type | Less_z_3 |
a model of Kernel::LessZ_3 | |
typedef unspecified_type | Less_xy_3 |
a model of Kernel::LessXY_3 | |
typedef unspecified_type | Less_xyz_3 |
a model of Kernel::LessXYZ_3 | |
typedef unspecified_type | Compare_weighted_squared_radius_3 |
a model of Kernel::CompareWeightedSquaredRadius_3 | |
typedef unspecified_type | Compare_x_3 |
a model of Kernel::CompareX_3 | |
typedef unspecified_type | Compare_y_3 |
a model of Kernel::CompareY_3 | |
typedef unspecified_type | Compare_z_3 |
a model of Kernel::CompareZ_3 | |
typedef unspecified_type | Compare_xy_3 |
a model of Kernel::CompareXY_3 | |
typedef unspecified_type | Compare_xyz_3 |
a model of Kernel::CompareXYZ_3 | |
typedef unspecified_type | Compare_slope_3 |
a model of Kernel::CompareSlope_3 | |
typedef unspecified_type | Compare_squared_distance_3 |
a model of Kernel::CompareSquaredDistance_3 | |
typedef unspecified_type | Less_signed_distance_to_plane_3 |
a model of Kernel::LessSignedDistanceToPlane_3 | |
typedef unspecified_type | Less_distance_to_point_3 |
a model of Kernel::LessDistanceToPoint_3 | |
typedef unspecified_type | Compare_angle_3 |
a model of Kernel::CompareAngle_3 | |
typedef unspecified_type | Compare_dihedral_angle_3 |
a model of Kernel::CompareDihedralAngle_3 | |
typedef unspecified_type | Compare_distance_3 |
a model of Kernel::CompareDistance_3 | |
typedef unspecified_type | Compare_power_distance_3 |
a model of Kernel::ComparePowerDistance_3 | |
typedef unspecified_type | Collinear_3 |
a model of Kernel::Collinear_3 | |
typedef unspecified_type | Coplanar_3 |
a model of Kernel::Coplanar_3 | |
typedef unspecified_type | Orientation_3 |
a model of Kernel::Orientation_3 | |
typedef unspecified_type | Coplanar_orientation_3 |
a model of Kernel::CoplanarOrientation_3 | |
typedef unspecified_type | Coplanar_side_of_bounded_circle_3 |
a model of Kernel::CoplanarSideOfBoundedCircle_3 | |
typedef unspecified_type | Side_of_oriented_sphere_3 |
a model of Kernel::SideOfOrientedSphere_3 | |
typedef unspecified_type | Side_of_bounded_sphere_3 |
a model of Kernel::SideOfBoundedSphere_3 | |
typedef unspecified_type | Power_side_of_oriented_power_sphere_3 |
a model of Kernel::PowerSideOfOrientedPowerSphere_3 | |
typedef unspecified_type | Power_side_of_bounded_power_sphere_3 |
a model of Kernel::PowerSideOfBoundedPowerSphere_3 | |
typedef unspecified_type | Is_degenerate_3 |
a model of Kernel::IsDegenerate_3 | |
typedef unspecified_type | Has_on_3 |
a model of Kernel::HasOn_3 | |
typedef unspecified_type | Has_on_bounded_side_3 |
a model of Kernel::HasOnBoundedSide_3 | |
typedef unspecified_type | Has_on_unbounded_side_3 |
a model of Kernel::HasOnUnboundedSide_3 | |
typedef unspecified_type | Has_on_boundary_3 |
a model of Kernel::HasOnBoundary_3 | |
typedef unspecified_type | Has_on_positive_side_3 |
a model of Kernel::HasOnPositiveSide_3 | |
typedef unspecified_type | Has_on_negative_side_3 |
a model of Kernel::HasOnNegativeSide_3 | |
typedef unspecified_type | Non_zero_coordinate_index_3 |
a model of Kernel::NonZeroCoordinateIndex_3 | |
typedef unspecified_type | Oriented_side_3 |
a model of Kernel::OrientedSide_3 | |
typedef unspecified_type | Bounded_side_3 |
a model of Kernel::BoundedSide_3 | |
typedef unspecified_type | Are_parallel_3 |
a model of Kernel::AreParallel_3 | |
typedef unspecified_type | Are_ordered_along_line_3 |
a model of Kernel::AreOrderedAlongLine_3 | |
typedef unspecified_type | Are_strictly_ordered_along_line_3 |
a model of Kernel::AreStrictlyOrderedAlongLine_3 | |
typedef unspecified_type | Collinear_are_ordered_along_line_3 |
a model of Kernel::CollinearAreOrderedAlongLine_3 | |
typedef unspecified_type | Collinear_are_strictly_ordered_along_line_3 |
a model of Kernel::CollinearAreStrictlyOrderedAlongLine_3 | |
typedef unspecified_type | Do_intersect_3 |
a model of Kernel::DoIntersect_3 | |
Constants | |
static const bool | Has_filtered_predicates |
A Boolean value indicating whether the predicates are filtered (as in CGAL::Filtered_kernel ). | |
typedef unspecified_type Kernel::Construct_second_point_2 |
a model of Kernel::ConstructSecondPoint_2
typedef unspecified_type Kernel::Construct_second_point_3 |
a model of Kernel::ConstructSecondPoint_3
|
static |
A Boolean value indicating whether the predicates are filtered (as in CGAL::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.