Concept

ConvexHullTraits_d

Definition

Requirements of the traits class to be used with the class Convex_hull_d.

Types

ConvexHullTraits_d::Point_d
the dD point type on which the convex hull algorithm operates

ConvexHullTraits_d::Hyperplane_d
a dD plane

ConvexHullTraits_d::Vector_d
a dD vector

ConvexHullTraits_d::Ray_d
a dD ray

ConvexHullTraits_d::RT
an arithmetic ring type


ConvexHullTraits_d::Construct_vector_d
Function object type that provides Vector_d operator()(int d, CGAL::Null_vector), which constructs and returns the null vector.


ConvexHullTraits_d::Construct_hyperplane_d
Function object type that provides Hyperplane_d operator()(ForwardIterator first, ForwardIterator last, Point_d p, CGAL::Oriented_side side), which constructs and returns a hyperplane passing through the points in tuple[first,last) and oriented such that p is on the side side of the returned hyperplane. When side==ON_ORIENTED_BOUNDARY then any hyperplane containing the tuple is returned.


ConvexHullTraits_d::Vector_to_point_d
Function object type that provides Point_d operator()(Vector_d v), which constructs and returns the point defined by 0+v.


ConvexHullTraits_d::Point_to_vector_d
Function object type that provides Vector_d operator()(Point_d v), which constructs and returns the vector defined by p-0.


ConvexHullTraits_d::Orientation_d
Function object type that provides Orientation operator()(ForwardIterator first, ForwardIterator last), which determines the orientation of the points tuple[first,last).


ConvexHullTraits_d::Orthogonal_vector_d
Function object type that provides Vector_d operator()(Hyperplane_d h), which constructs and returns a vector orthogonal to h and pointing from the boundary into its positive halfspace.


ConvexHullTraits_d::Oriented_side_d
Predicate object type that provides Oriented_side operator()(Hyperplane_d h, Point_d p), which determines the oriented side of p with respect to h.


ConvexHullTraits_d::Has_on_positive_side_d
Predicate object type that provides bool operator()(Hyperplane_d h, Point_d p), which return true iff p lies in the positive halfspace determined by h.


ConvexHullTraits_d::Affinely_independent_d
Predicate object type that provides bool operator()(ForwardIterator first, ForwardIterator last), which determines if the points tuple[first,last) are affinely independent.


ConvexHullTraits_d::Contained_in_simplex_d
Predicate object type that provides bool operator()(ForwardIterator first, ForwardIterator last, Point_d p), which determines if p is contained in the closed simplex defined by the points in tuple[first,last).


ConvexHullTraits_d::Contained_in_affined_hull_d
Predicate object type that provides bool operator()(ForwardIterator first, ForwardIterator last, Point_d p), which determines if p is contained in the affine hull of the points in tuple[first,last).


ConvexHullTraits_d::Intersect_d
Predicate object type that provides Object operator()(Ray_d r, Hyperplane_d h), which determines if r and h intersect and returns the corresponding polymorphic object.

Creation

A default constructor and copy constructor is required.

Operations

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:

Construct_vector_d traits.construct_vector_d_object ()

Has Models

CGAL::Cartesian_d<FT,LA>
CGAL::Homogeneous_d<RT,LA>
CGAL::Convex_hull_d_traits_3<R>