CGAL 5.6 - dD Spatial Searching
CGAL::Fuzzy_iso_box< Traits > Class Template Reference

#include <CGAL/Fuzzy_iso_box.h>

Definition

The class Fuzzy_iso_box implements fuzzy d-dimensional (closed) iso boxes.

A fuzzy iso box with fuzziness value \( \epsilon\) has as inner and outer approximations a box respectively eroded and dilated by a d-dim square with side length \( \epsilon\). Points are returned depending on their location respective to the approximations, as follows:

  • points in the inner approximation (boundary included) are always returned.
  • points in the outer approximation (boundary included) and not in the previous category may or may not be returned.
  • points that do not fit in the two previous categories are never returned.
Template Parameters
Traitsmust be a model of the concept SearchTraits, for example CGAL::Search_traits_2<CGAL::Simple_cartesian<double> >.
Is Model Of:
FuzzyQueryItem
Examples:
Spatial_searching/fuzzy_range_query.cpp, Spatial_searching/iso_rectangle_2_query.cpp, and Spatial_searching/iso_rectangle_2_query_projection.cpp.

Types

typedef unspecified_type D
 Dimension Tag.
 
typedef Traits::Point_d Point_d
 Point type.
 
typedef Traits::FT FT
 Number type.
 

Creation

 Fuzzy_iso_box (Point_d p, Point_d q, FT epsilon=FT(0), Traits t=Traits())
 Construct a fuzzy iso box specified by the minimal iso box containing p and q and fuzziness value epsilon. More...
 
 Fuzzy_iso_box (Traits::Base::Point_d p, Traits::Base::Point_d q, FT epsilon=FT(0), Traits t=Traits())
 Construct a fuzzy iso box specified by the minimal iso box containing p and q and fuzziness value epsilon. More...
 

Operations

bool contains (Point_d p) const
 Test whether the fuzzy iso box contains p.
 
template<typename Coord_iterator >
bool contains_point_given_as_coordinates (Coord_iterator begin, Coord_iterator end) const
 Test whether the fuzzy iso box 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 box intersects the rectangle associated with a node of a tree.
 
bool outer_range_contains (const Kd_tree_rectangle< FT, D > &rectangle) const
 Test whether the outer box encloses the rectangle associated with a node of a tree.
 

Constructor & Destructor Documentation

◆ Fuzzy_iso_box() [1/2]

template<typename Traits >
CGAL::Fuzzy_iso_box< Traits >::Fuzzy_iso_box ( Point_d  p,
Point_d  q,
FT  epsilon = FT(0),
Traits  t = Traits() 
)

Construct a fuzzy iso box specified by the minimal iso box containing p and q and fuzziness value epsilon.

Precondition
p must be lexicographically smaller than q.

◆ Fuzzy_iso_box() [2/2]

template<typename Traits >
CGAL::Fuzzy_iso_box< Traits >::Fuzzy_iso_box ( Traits::Base::Point_d  p,
Traits::Base::Point_d  q,
FT  epsilon = FT(0),
Traits  t = Traits() 
)

Construct a fuzzy iso box specified by the minimal iso box containing p and q and fuzziness value epsilon.

Attention
Only available in case Traits is Search_traits_adapter<Key,PointPropertyMap,BaseTraits>.
Precondition
p must be lexicographically smaller than q.