| |
The point type on which the convex hull algorithm operates
| |
| |
a 3D plane
| |
| |
a 3D segment
| |
| |
a 3D triangle
| |
| |
a 3D vector
| |
| |
Function object type that provides
Plane_3 operator()(Point_3 p, Point_3 q, Point_3 r), which constructs
and returns a plane passing through p, q, and r and oriented
in a positive sense when seen from the positive side of the plane.
| |
| |
Function object type that provides
Segment_3 operator()(Point_3 p, Point_3 q), which constructs and
returns the segment with source p and target q.
| |
| |
Function object type that provides
Triangle_3 operator()(Point_3 p, Point_3 q, Point_3 r), which
constructs and returns the triangle with vertices p, q, and
r
| |
| |
Function object type that provides
Vector_3 operator()(Point_3 p, Point_3 q), which constructs and
returns the vector q-p
| |
| |
Predicate object type that provides
bool operator()(Point_3 p, Point_3 q), which determines
if points p and q are equal or not
| |
| |
Predicate object type that provides
bool operator()(Point_3 p, Point_3 q, Point_3 r), which determines
if points p, q and r are collinear or not
| |
| |
Predicate object type that provides
bool operator()(Point_3 p, Point_3 q, Point_3 r, Point_3 s), which
determines if points p, q, r, and s are coplanar
or not
| |
| |
Predicate object type that provides
bool operator()(Plane_3 h, Point_3 q), which determines of the point
q is on the positive side of the halfspace h
| |
| |
Predicate object type that provides
a constructor taking a single Point_3 object and
bool operator()(Point_3 q, Point_3 r), which returns true iff the
distance from q to p is smaller than the distance from
r to p, where p is the point passed to the object
at construction.
| |
| |
Predicate object type that
provides bool operator()(Plane_3 p, Point_3 q, Point_3 r), which
returns true iff the signed distance from q to p is smaller
than the signed distance from r to p
|
To handle the degenerate case when all points are coplanar, the following three types that are default-constructable are necessary:
| |
A model of ConvexHullTraits_2 for points projected
into the xy-plane
| |
| |
A model of ConvexHullTraits_2 for points projected
into the xz-plane
| |
| |
A model of ConvexHullTraits_2 for points projected
into the yz-plane
|
One also needs the following function object to help choose which of the above traits classes to use:
| |
Function object type that provides
int operator()(Vector_3 v), which returns the index (0, 1, or 2 for
x, y, or z, respectively) of the coordinate of v with maximum absolute
value.
|
These types need not be provided when it is known that the points are not all coplanar.
Only a copy constructor is required.
|
For each of the above function and predicate object types, Func_obj_type, a function must exist with the name func_obj_type_object that creates an instance of the function or predicate object type. For example:
|
|