The class template Min_sphere_d is parameterized with a Traits class which defines the interface between the optimisation algorithm and the point class used to represent the input points. The following requirements catalog lists the types, member functions etc., that must be defined for a class that can be used to parameterize Min_sphere_d. Traits class implementations with points of the types Point_2<R>, Point_3<R> and Point_d<R> are available and described in Section .
A class that satisfies the requirements of a traits class for Min_sphere_d must provide the following.
| |
A compile time tag to distinguish between cartesian and
homogeneous representation. Rep_tag is either
Cartesian_tag or Homogeneous_tag.
| |
| |
A type fulfilling the requirements of a CGAL number type.
| |
| |
The point type must provide default and copy constructor
and an assignment operator.
| |
| |
The data accessor type defines the access to coordinates of the
points. The requirements are listed in the next section below.
|
In addition, if I/O is used, the corresponding I/O operators for Point have to be provided.
|
| A data accessor object. |
Only default and copy constructor are required.
| |
A default constructor.
| |
| |
A copy constructor.
|
| |
This class must satisfy the requirements of an STL input iterator.
Its value type is NT.
|
| |
Default constructor.
| |
| |
Copy constructor.
|
|
| |
returns the dimension of p. | ||
|
| |
returns an iterator pointing to the first coordinate of p. |
In case of a cartesian representation, the coordinate range consists of get_dimension(p) numbers. For homogeneous representations, we have get_dimension(p)+1 numbers, the last of which is assumed to be the homogenizing coordinate.
|
| |
copies the range [first, last) into p. The caller of this function guarantees that the range contains d elements in the cartesian and d+1 elements in the homogeneous case, where d is the ambient dimension of the CGAL_Min_sphere_d<Traits> object. set is never called if the sphere is empty. |