CGAL 4.13 - 3D Triangulations
|
The concept DelaunayTriangulationTraits_3
is the first template parameter of the class Delaunay_triangulation_3
. It defines the geometric objects (points, segments...) forming the triangulation together with a few geometric predicates and constructions on these objects.
CGAL::Exact_predicates_inexact_constructions_kernel
(recommended)
CGAL::Exact_predicates_exact_constructions_kernel
(recommended for Voronoi)
In addition to the requirements described for the traits class of CGAL::Triangulation_3
, the geometric traits class of a Delaunay triangulation must fulfill the following requirements:
Types | |
typedef unspecified_type | Line_3 |
The line type. | |
typedef unspecified_type | Object_3 |
The object type. | |
typedef unspecified_type | Ray_3 |
The ray type. | |
typedef unspecified_type | Coplanar_side_of_bounded_circle_3 |
A predicate object that must provide the function operator. More... | |
typedef unspecified_type | Side_of_oriented_sphere_3 |
A predicate object that must provide the function operator. More... | |
typedef unspecified_type | Compare_distance_3 |
A predicate object that must provide the function operator. More... | |
When | |
typedef unspecified_type | Side_of_bounded_sphere_3 |
A predicate object that must provide the function operators. More... | |
In addition, only when the dual operations are used, the traits class must provide the following constructor objects: | |
typedef unspecified_type | Construct_circumcenter_3 |
A constructor object that must provide the function operator. More... | |
typedef unspecified_type | Construct_object_3 |
A constructor object that must provide the function operators. More... | |
typedef unspecified_type | Construct_equidistant_line_3 |
A constructor object that must provide the function operator. More... | |
typedef unspecified_type | Construct_ray_3 |
A constructor object that must provide the function operator. More... | |
Operations | |
The following functions give access to the predicate and construction objects: | |
Coplanar_side_of_bounded_circle_3 | coplanar_side_of_bounded_circle_3_object () |
Side_of_oriented_sphere_3 | side_of_oriented_sphere_3_object () |
When using the | |
Compare_distance_3 | compare_distance_3_object () |
The following functions must be provided only if the methods of | |
Construct_circumcenter_3 | construct_circumcenter_3_object () |
Construct_object_3 | construct_object_3_object () |
Construct_equidistant_line_3 | construct_equidistant_line_object () |
Construct_ray_3 | construct_ray_3_object () |
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.
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.
p
, q
, r
and s
must be non coplanar.It must also provide the function operator
Point_3 operator()(Point_3 p, Point_3 q, Point_3 r)
,
which constructs the circumcenter of three points.
p
, q
and r
must be non collinear. 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.
p1
, p2
and p3
must be non collinear. 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.
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
.
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.
p
, q
, r
, and s
are coplanar and p
, q
, and r
are not collinear. A predicate object that must provide the function operators.
Bounded_side operator()(Point_3 p, Point_3 q, Point_3 t)
,
which returns the position of the point t
relative to the sphere that has pq
as its diameter,
Bounded_side operator()(Point_3 p, Point_3 q, Point_3 r, Point_3 t)
,
which returns the position of the point t
relative to the sphere passing through p, q
, and r
and whose center is in the plane defined by these three points.
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.