CGAL 6.1 - dD Spatial Searching

Loading...
Searching...
No Matches
List of all members
CGAL::Fuzzy_iso_box< Traits > Class Template Reference
Reference Manual » Range Query Item Classes

`#include <CGAL/Fuzzy_iso_box.h>`

## Definition

template<typename Traits>
class CGAL::Fuzzy_iso_box< Traits >

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

  Traits | must 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`.
| 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`.

## 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`.