## 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>