CGAL 6.0  Bounding Volumes

A model of concept MinSphereOfSpheresTraits
must provide the following constants, types, predicates and operations.
CGAL::Min_sphere_of_spheres_d_traits_2<K,FT,UseSqrt,Algorithm>
CGAL::Min_sphere_of_spheres_d_traits_3<K,FT,UseSqrt,Algorithm>
CGAL::Min_sphere_of_spheres_d_traits_d<K,FT,Dim,UseSqrt,Algorithm>
CGAL::Min_sphere_of_points_d_traits_2<K,FT,UseSqrt,Algorithm>
CGAL::Min_sphere_of_points_d_traits_3<K,FT,UseSqrt,Algorithm>
CGAL::Min_sphere_of_points_d_traits_d<K,FT,Dim,UseSqrt,Algorithm>
Types  
typedef unspecified_type  Sphere 
is a typedef to to some class representing a sphere.  
typedef unspecified_type  FT 
is a (exact or inexact) field number type.  
typedef unspecified_type  Cartesian_const_iterator 
nonmutable model of the STL concept ForwardIterator with value type FT .  
typedef unspecified_type  Use_square_roots 
must typedef to either CGAL::Tag_true or CGAL::Tag_false .  
typedef unspecified_type  Algorithm 
selects the method to compute the minsphere with.  
Constants  
static const int  D 
specifies the dimension of the spheres you want to compute the minsphere of.  
Access Functions  
FT  radius (const Sphere &s) 
returns the radius of sphere s .  
Cartesian_const_iterator  center_cartesian_begin (const Sphere &s) 
returns an iterator referring to the first of the D Cartesian coordinates of the center of s .  
selects the method to compute the minsphere with.
It must typedef to either CGAL::Default_algorithm
, CGAL::LP_algorithm
or CGAL::Farthest_first_heuristic
. The recommended choice is the first, which is a synonym to the one of the other two methods which we consider "the best in practice." In case of CGAL::LP_algorithm
, the minsphere will be computed using the LPalgorithm [11], which in our implementation has maximal expected running time \(O(2^d n)\) (in the number of operations on the number type FT
). In case of CGAL::Farthest_first_heuristic
, a simple heuristic will be used instead which seems to work fine in practice, but comes without a guarantee on the running time. For an inexact number type FT
we strongly recommend CGAL::Default_algorithm
, or, if you want, CGAL::Farthest_first_heuristic
, since these handle most degeneracies in a satisfying manner. Notice that this compiletime flag is taken as a hint only. Should one of the methods not be available anymore in a future release, then the default algorithm will be chosen.
nonmutable model of the STL concept ForwardIterator
with value type FT
.
Used to access the center coordinates of a sphere.
is a (exact or inexact) field number type.
FT  must either be double or float , or an exact field number type. (An exact number type is one which evaluates arithmetic expressions involving the four basic operations and comparisons with infinite precision, that is, like in \( \mathbb{R}\).) 
is a typedef to to some class representing a sphere.
(The package will compute the minsphere of spheres of type Sphere
.) The type Sphere
must provide a copy constructor.
must typedef to either CGAL::Tag_true
or CGAL::Tag_false
.
The algorithm uses (depending on the type MinSphereOfSpheresTraits::Algorithm
) floatingpoint arithmetic internally for some intermediate computations. The type Use_square_roots
affects how these calculations are done: When Use_square_roots
is Tag_true
, the algorithm computing the minsphere will perform squareroot operations on double
s and float
s where appropriate. On the other hand, if Use_square_roots
is CGAL::Tag_false
, the algorithm will work without doing squareroots.
Note: On some platforms the algorithm is much faster when squareroots are disabled (due to lacking hardware support).