\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)
CGAL 4.12 - 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 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\).

Attention
Points in the interior of the inner approximation are always reported and points that are not in the closure of the outer approximation are never reported. Other points may or may not be reported. Subsequently, points on the boundary of the inner and outer approximations may or may not be reported. Specifically when \( \epsilon = 0\), points on the boundary of the box may or may not be reported.
Template Parameters
Traitsmust be a model of the concept SearchTraits, for example CGAL::Search_traits_2<CGAL::Simple_cartesian<double> >.
Is Model Of:
FuzzyQueryItem
See also
FuzzyQueryItem
Examples:
Spatial_searching/fuzzy_range_query.cpp, and Spatial_searching/iso_rectangle_2_query.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.
 
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.