CGAL 5.3 - dD Spatial Searching
|
#include <CGAL/Fuzzy_sphere.h>
The class Fuzzy_sphere
implements fuzzy d
-dimensional spheres.
A fuzzy sphere with radius \( r\) and fuzziness value \( \epsilon\) has as inner approximation a sphere with radius \( r-\epsilon\) and as outer approximation a sphere with radius \( r+\epsilon\). Points are returned depending on their location respective to the approximations, as follows:
Note that if the fuzziness value is strictly greater than the radius, there is no inner approximation.
Traits | must be a model of the concept SearchTraits , for example CGAL::Cartesian_d<double> . |
Types | |
typedef unspecified_type | D |
Dimension Tag. | |
typedef Traits::Point_d | Point_d |
Point type. | |
typedef Traits::FT | FT |
Number type. | |
Creation | |
Fuzzy_sphere (Point_d center, FT radius, FT epsilon=FT(0), Traits t=Traits()) | |
Construct a fuzzy sphere centered at center with radius radius and fuzziness value epsilon . | |
Fuzzy_sphere (Traits::Base::Point_d center, FT radius, FT epsilon=FT(0), Traits t=Traits()) | |
Construct a fuzzy sphere centered at center with radius radius and fuzziness value epsilon . More... | |
Operations | |
bool | contains (const Point_d &p) const |
Test whether the fuzzy sphere contains p . More... | |
template<typename Coord_iterator > | |
bool | contains_point_given_as_coordinates (Coord_iterator begin, Coord_iterator end) const |
Test whether the fuzzy sphere contains the point whose Cartesian coordinates are contained in the range [begin , end ). | |
bool | inner_range_intersects (const Kd_tree_rectangle< FT, D > &rectangle) const |
Test whether the inner sphere intersects the rectangle associated with a node of a tree. More... | |
bool | outer_range_contains (const Kd_tree_rectangle< FT, D > &rectangle) const |
Test whether the outer sphere encloses the rectangle associated with a node of a tree. More... | |
CGAL::Fuzzy_sphere< Traits >::Fuzzy_sphere | ( | Traits::Base::Point_d | center, |
FT | radius, | ||
FT | epsilon = FT(0) , |
||
Traits | t = Traits() |
||
) |
Construct a fuzzy sphere centered at center
with radius radius
and fuzziness value epsilon
.
Traits
is Search_traits_adapter<Key,PointPropertyMap,BaseTraits>
. bool CGAL::Fuzzy_sphere< Traits >::contains | ( | const Point_d & | p | ) | const |
Test whether the fuzzy sphere contains p
.
That is, whether the distance between the center of the fuzzy sphere and p
is less than \( r\).
bool CGAL::Fuzzy_sphere< Traits >::inner_range_intersects | ( | const Kd_tree_rectangle< FT, D > & | rectangle | ) | const |
Test whether the inner sphere intersects the rectangle associated with a node of a tree.
That is, whether the minimal distance between the center of the fuzzy sphere and rectangle
is less than \( r-\epsilon\).
bool CGAL::Fuzzy_sphere< Traits >::outer_range_contains | ( | const Kd_tree_rectangle< FT, D > & | rectangle | ) | const |
Test whether the outer sphere encloses the rectangle associated with a node of a tree.
That is, whether the maximal distance between the center of the fuzzy sphere and rectangle
is less than \( r+\epsilon\).