## IsStronglyConvexTraits_3

### Definition

Requirements of the traits class used by the function is_strongly_convex_3, which is used for postcondition checking by convex_hull_3.

### Types

 IsStronglyConvexTraits_3::Plane_3 a 3D plane IsStronglyConvexTraits_3::Point_3 a 3D point IsStronglyConvexTraits_3::Ray_3 a 3D ray IsStronglyConvexTraits_3::Triangle_3 a 3D triangle IsStronglyConvexTraits_3::Construct_ray_3 Function object type that provides Ray_3 operator()(Point_3 p, Point_3 q), which constructs and returns the ray based at point p and passing though q IsStronglyConvexTraits_3::Construct_triangle_3 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 IsStronglyConvexTraits_3::Coplanar_3 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 IsStronglyConvexTraits_3::Do_intersect_3 Function object type that provides CGAL::Object operator()(Triangle_3 t, Ray_3 r), which returns true iff t and r intersect. IsStronglyConvexTraits_3::Has_on_positive_side_3 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 IsStronglyConvexTraits_3::Oriented_side_3 Predicate object type that provides Oriented_side operator()(Plane_3 p, Point_3 q), which determines the position of point q relative to plane p

### Creation

Only a copy constructor is required.

 IsStronglyConvexTraits_3 traits ( & t);

### 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_ray_3 traits.construct_ray_3_object ()

### Has Models

CGAL::Convex_hull_traits_3<R>
All kernels of CGAL