CGAL 5.1 - 3D Convex Hulls
ConvexHullTraits_3 Class Reference

#include <Concepts/ConvexHullTraits_3.h>

Definition

Requirements of the traits class of the function CGAL::convex_hull_3().

Has Models:

CGAL::Convex_hull_traits_3<K>

CGAL::Extreme_points_traits_adapter_3<PPM, GT>

Types

typedef unspecified_type Point_3
 The point type on which the convex hull algorithm operates. More...
 
typedef unspecified_type Plane_3
 a 3D plane More...
 
typedef unspecified_type Segment_3
 a 3D segment More...
 
typedef unspecified_type Triangle_3
 a 3D triangle More...
 
typedef unspecified_type Construct_plane_3
 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. More...
 
typedef unspecified_type Construct_segment_3
 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. More...
 
typedef unspecified_type 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. More...
 
typedef unspecified_type Equal_3
 Predicate object type that provides bool operator()(Point_3 p, Point_3 q), which determines if points p and q are equal. More...
 
typedef unspecified_type Collinear_3
 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. More...
 
typedef unspecified_type 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. More...
 
typedef unspecified_type Has_on_positive_side_3
 Predicate object type that provides bool operator()(Plane_3 h, Point_3 q), which determines if the point q is on the positive side of the halfspace h. More...
 
typedef unspecified_type Less_distance_to_point_3
 Predicate object type that provides bool operator()(Point_3 p, 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. More...
 
typedef unspecified_type Less_signed_distance_to_plane_3
 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 More...
 
typedef unspecified_type Traits_xy_3
 A traits class providing the requirements of the template parameter Traits of the 2D convex hull function CGAL::ch_akl_toussaint() such that Traits::Point_2 is Point_3, and the 2D points considered in the algorithm are the projections of the 3D points in the xy-plane. More...
 
typedef unspecified_type Traits_yz_3
 Same as above but in the yz-plane. More...
 
typedef unspecified_type Traits_xz_3
 Same as above but in the xz-plane. More...
 

Creation

Only a copy constructor is required.

 ConvexHullTraits_3 (ConvexHullTraits_3 &ch)
 

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_plane_3 construct_plane_3_object ()
 

Member Typedef Documentation

◆ Collinear_3

typedef unspecified_type ConvexHullTraits_3::Collinear_3

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.

◆ Construct_plane_3

typedef unspecified_type ConvexHullTraits_3::Construct_plane_3

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.

◆ Construct_segment_3

typedef unspecified_type ConvexHullTraits_3::Construct_segment_3

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.

◆ Construct_triangle_3

typedef unspecified_type ConvexHullTraits_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.

◆ Coplanar_3

typedef unspecified_type ConvexHullTraits_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.

◆ Equal_3

typedef unspecified_type ConvexHullTraits_3::Equal_3

Predicate object type that provides bool operator()(Point_3 p, Point_3 q), which determines if points p and q are equal.

◆ Has_on_positive_side_3

Predicate object type that provides bool operator()(Plane_3 h, Point_3 q), which determines if the point q is on the positive side of the halfspace h.

◆ Less_distance_to_point_3

Predicate object type that provides bool operator()(Point_3 p, 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.

◆ Less_signed_distance_to_plane_3

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

◆ Plane_3

typedef unspecified_type ConvexHullTraits_3::Plane_3

a 3D plane

◆ Point_3

typedef unspecified_type ConvexHullTraits_3::Point_3

The point type on which the convex hull algorithm operates.

◆ Segment_3

typedef unspecified_type ConvexHullTraits_3::Segment_3

a 3D segment

◆ Traits_xy_3

typedef unspecified_type ConvexHullTraits_3::Traits_xy_3

A traits class providing the requirements of the template parameter Traits of the 2D convex hull function CGAL::ch_akl_toussaint() such that Traits::Point_2 is Point_3, and the 2D points considered in the algorithm are the projections of the 3D points in the xy-plane.

If this type is not available, the function CGAL::convex_hull_3() will automatically use CGAL::Projection_traits_xy< CGAL::Kernel_traits<Point_3>::Kernel >. Otherwise, a function must exist with the name construct_traits_xy_3_object() that creates an instance of Traits_xy_3.

◆ Traits_xz_3

typedef unspecified_type ConvexHullTraits_3::Traits_xz_3

Same as above but in the xz-plane.

◆ Traits_yz_3

typedef unspecified_type ConvexHullTraits_3::Traits_yz_3

Same as above but in the yz-plane.

◆ Triangle_3

typedef unspecified_type ConvexHullTraits_3::Triangle_3

a 3D triangle

Constructor & Destructor Documentation

◆ ConvexHullTraits_3()

ConvexHullTraits_3::ConvexHullTraits_3 ( ConvexHullTraits_3 ch)

Member Function Documentation

◆ construct_plane_3_object()

Construct_plane_3 ConvexHullTraits_3::construct_plane_3_object ( )