In addition to the requirements described for the traits class of Triangulation_3, the geometric traits class of a Delaunay triangulation must fulfill the following requirements:
DelaunayTriangulationTraits_3::Line_3 | |||
The line type.
| |||
DelaunayTriangulationTraits_3::Object_3 | |||
The object type.
| |||
DelaunayTriangulationTraits_3::Ray_3 | |||
The ray type.
| |||
DelaunayTriangulationTraits_3::Coplanar_side_of_bounded_circle_3 | |||
A predicate object that must provide the function operator Bounded_side operator()(Point p, Point q, Point r, Point s), which determines the bounded side of the circle defined by p, q, and r on which s lies.
| |||
DelaunayTriangulationTraits_3::Side_of_oriented_sphere_3 | |||
A predicate object that must provide the function operator Oriented_side operator()(Point p, Point q, Point r, Point s, Point t), which determines on which side of the oriented sphere circumscribing p, q, r, s the point t lies.
| |||
DelaunayTriangulationTraits_3::Compare_distance_3 | |||
A predicate object that must provide the function operator Comparison_result operator()(Point p, Point q, Point r), which compares the distance between p and q to the distance between p and r. It is only needed when using the Fast_location policy or the nearest_vertex function.
|
In addition, only when the dual operations are used, the traits class must provide the following constructor objects:
DelaunayTriangulationTraits_3::Construct_circumcenter_3 | |||||
A constructor object that must provide the function operator Point_3 operator()(Point_3 p, Point_3 q, Point_3 r, Point_3 s), which constructs the circumcenter of four points.
| |||||
DelaunayTriangulationTraits_3::Construct_object_3 | |||||
A constructor object that must provide the function operators Object_3 operator()(Point_3 p), Object_3 operator()(Segment_3 s) and Object_3 operator()(Ray_3 r) that construct an object respectively from a point, a segment and a ray.
| |||||
DelaunayTriangulationTraits_3::Construct_equidistant_line_3 | |||||
A constructor object that must provide the function operator Line_3 operator()(Point_3 p1, Point_3 p2, Point_3 p3), which constructs the line which is at the same distance from the three points.
| |||||
DelaunayTriangulationTraits_3::Construct_ray_3 | |||||
A constructor object that must provide the function operator Ray_3 operator()(Point_3 p, Line_3 l), which constructs the ray starting at p with direction given by l.
|
The following functions give access to the predicate and construction objects:
Coplanar_side_of_bounded_circle_3 | traits.coplanar_side_of_bounded_circle_3_object () | |
Side_of_oriented_sphere_3 | traits.side_of_oriented_sphere_3_object () |
When using the Fast_location policy or the nearest_vertex function, the traits must provide:
Compare_distance_3 | traits.compare_distance_3_object () |
The following functions must be provided only if the methods of Delaunay_triangulation_3 returning elements of the Voronoi diagram are instantiated:
CGAL::Exact_predicates_inexact_constructions_kernel (recommended)
CGAL::Exact_predicates_exact_constructions_kernel (recommended for
Voronoi)
CGAL::Filtered_kernel
CGAL::Cartesian
CGAL::Simple_cartesian
CGAL::Homogeneous
CGAL::Simple_homogeneous