Concept

DelaunayLiftedTraits_d

Definition

Requirements of the second traits class to be used with the class Delaunay_d.

Types

DelaunayLiftedTraits_d::Point_d
the dD point type on which the Delaunay algorithm operates

DelaunayLiftedTraits_d::Hyperplane_d
a dD plane

DelaunayLiftedTraits_d::Vector_d
a dD vector

DelaunayLiftedTraits_d::Ray_d
a dD ray

DelaunayLiftedTraits_d::RT
a arithmetic ring type


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


DelaunayLiftedTraits_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.


DelaunayLiftedTraits_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.


DelaunayLiftedTraits_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.


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


DelaunayLiftedTraits_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.


DelaunayLiftedTraits_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.


DelaunayLiftedTraits_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.


DelaunayLiftedTraits_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.


DelaunayLiftedTraits_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).


DelaunayLiftedTraits_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).


DelaunayLiftedTraits_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.

The previous requirements are all identical to the concept ConvexHullTraits_d. The Delaunay class adds the following requirements.

DelaunayLiftedTraits_d::Project_along_d_axis_d
Predicate object type that provides DelaunayTraits_d::Point_d operator()(Point_d p), which determines the d-1-dimensional point from the d-dimensional point p while discarding the last coordinate.


DelaunayLiftedTraits_d::Lift_to_paraboloid_d
Predicate object type that provides Point_d operator()(DelaunayTraits_d::Point_d p), which determines the d-dimensional point from the d-1-dimensional point p while lifting it to the paraboloid of revolution.


DelaunayLiftedTraits_d::Component_accessor_d
Predicate object type that provides RT homogeneous(Vector_d v,int i) and int dimension(Vector_d v), where the former determines the ith coordinate of v and the latter the dimension of v.

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>