## SpatialSortingTraits_3

### Definition

All 3D spatial sorting algorithms provided in Cgal are parameterized by a traits class Traits, which defines the primitives (objects and predicates) that the sorting algorithms use. SpatialSortingTraits_3 defines the complete set of primitives required in these functions and functors.

### Types

 SpatialSortingTraits_3::Point_3 The point type on which the sorting algorithms operate. SpatialSortingTraits_3::Compute_x_3 Functor object type returning the x coordinate of a Point_3. Must provide FT operator()(Point_3 p) where FT can be used as argument of CGAL::to_double. SpatialSortingTraits_3::Compute_y_3 Functor object type returning the y coordinate of a Point_3. Must provide FT operator()(Point_3 p) where FT can be used as argument of CGAL::to_double. SpatialSortingTraits_3::Compute_z_3 Functor object type returning the z coordinate of a Point_3. Must provide FT operator()(Point_3 p) where FT can be used as argument of CGAL::to_double. SpatialSortingTraits_3::Less_x_3 Binary predicate object type comparing Point_3s along the x coordinate. Must provide bool operator()(Point_3 p, Point_3 q) where true is returned iff px < qx, where px and qx denote x coordinate of point p and q, respectively. SpatialSortingTraits_3::Less_y_3 Binary predicate object type comparing Point_3s along the y coordinate. Must provide bool operator()(Point_3 p, Point_3 q) where true is returned iff py < qy, where py and qy denote y coordinate of point p and q, respectively. SpatialSortingTraits_3::Less_z_3 Binary predicate object type comparing Point_3s along the z coordinate. Must provide bool operator()(Point_3 p, Point_3 q) where true is returned iff pz < qz, where pz and qz denote z coordinate of point p and q, respectively.

### Creation

Only a copy constructor is required.

 SpatialSortingTraits_3 traits ( t);

### Operations

The following member functions to create instances of the above predicate object types must exist.

 Compute_x_3 traits.compute_x_3_object () Compute_y_3 traits.compute_y_3_object () Compute_z_3 traits.compute_z_3_object () Less_x_3 traits.less_x_3_object () Less_y_3 traits.less_y_3_object () Less_z_3 traits.less_z_3_object ()