OptimisationDTraits

Definition

This concept defines the requirements for traits classes of d-dimensional optimisation algorithms.

Types

OptimisationDTraits::Point_d
point type used to represent the input points.


OptimisationDTraits::Rep_tag
compile time tag to distinguish between Cartesian and homogeneous representation of the input points. Rep_tag has to be either CGAL::Cartesian_tag or CGAL::Homogeneous_tag.


OptimisationDTraits::RT
number type used to represent the coordinates of the input points. It has to be a model for RingNumberType.


OptimisationDTraits::FT
number type used to return either the squared radius of the smallest enclosing sphere or annulus, or the squared distance of the polytopes. FT has to be either RT or CGAL::Quotient<RT> if the input points have Cartesian or homogeneous representation, respectively (cf. Rep_tag).


OptimisationDTraits::Access_dimension_d
data accessor object used to access the dimension of the input points.


OptimisationDTraits::Access_coordinates_begin_d
data accessor object used to access the coordinates of the input points.


OptimisationDTraits::Construct_point_d
constructor object used to construct either the center of the smallest enclosing sphere or annulus, or the points realizing the distance between the two polytopes.

The following two number types are only needed for CGAL::Min_annulus_d<Traits> and CGAL::Polytope_distance_d<Traits>.

OptimisationDTraits::ET
exact number type used to do the exact computations in the underlying solver for linear programs. It has to to be a model for RingNumberType. There must be an implicit conversion from RT to ET available.


OptimisationDTraits::NT
fast (possibly inexact) number type used to speed up the pricing step in the underlying solver for linear programs. It has to be a model for RingNumberType. There must be implicit conversions from RT to NT and from NT to ET available.

Creation

Only default and copy constructor are required.

OptimisationDTraits traits;

OptimisationDTraits traits ( OptimisationDTraits);

Operations

The following functions just return the corresponding function class object.

Access_dimension_d traits.access_dimension_d_object ()

Access_coordinates_begin_d
traits.access_coordinates_begin_d_object ()

Construct_point_d traits.construct_point_d_object ()

Has Models

CGAL::Optimisation_d_traits_2<K,ET,NT>
CGAL::Optimisation_d_traits_3<K,ET,NT>
CGAL::Optimisation_d_traits_d<K,ET,NT>

See Also

CGAL::Min_sphere_d<Traits>
CGAL::Min_annulus_d<Traits>
CGAL::Polytope_distance_d<Traits>