CGAL 6.1 - dD Spatial Searching

Loading...
Searching...
No Matches
List of all members
CGAL::Euclidean_distance< Traits > Class Template Reference
Reference Manual » Distance Classes

`#include <CGAL/Euclidean_distance.h>`

## Definition

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

The class `Euclidean_distance` provides an implementation of the concept `OrthogonalDistance`, with the Euclidean distance ( \( l_2\) metric).

To optimize distance computations squared distances are used.

Template Parameters

  Traits | must be a model of the concept `SearchTraits`, for example `Search_traits_2<Simple_cartesian<double> >`.

Is model of
  `OrthogonalDistance`

See also
  `OrthogonalDistance`
  `CGAL::Weighted_Minkowski_distance<Traits>`

Examples
  Spatial_searching/searching_sphere_orthogonally.cpp, Spatial_searching/splitter_worst_cases.cpp, and Spatial_searching/using_fair_splitting_rule.cpp.

## Types
typedef Traits::Dimension | D
| Dimension Tag.
typedef Traits::FT | FT
| Number type.
typedef Traits::Point_d | Point_d
| Point type.
typedef Point_d | Query_item
| Query item type.

## Creation
| Euclidean_distance (Traits t=Traits())
| Default constructor.

## Operations
FT | transformed_distance (Query_item q, Point_d p) const
| Returns the squared Euclidean distance between `q` and `p`.
template<typename Coord_iterator >
FT | transformed_distance_from_coordinates (Query_item q, Coord_iterator begin, Coord_iterator end) const
| Returns the transformed distance between `q` and the point whose Cartesian coordinates are contained in the range [`begin`, `end`).
template<typename Coord_iterator >
FT | interruptible_transformed_distance (Query_item q, Coord_iterator begin, Coord_iterator end, FT stop_if_geq_to_this) const
| Returns the transformed distance between `q` and the point whose Cartesian coordinates are contained in the range [`begin`, `end`), or any value \( \geq \) `stop_if_geq_to_this` if the transformed distance is \( \geq \) `stop_if_geq_to_this`.
FT | min_distance_to_rectangle (Query_item q, Kd_tree_rectangle< FT, D > r) const
| Returns the squared Euclidean distance between `q` and the point on the boundary of `r` closest to `q`.
FT | min_distance_to_rectangle (Query_item q, Kd_tree_rectangle< FT, D > r, vector< FT > &dists)
| Returns the squared Euclidean distance between `q` and the point on the boundary of `r` closest to `q`.
FT | max_distance_to_rectangle (Query_item q, Kd_tree_rectangle< FT, D > r) const
| Returns the squared Euclidean distance, where \( d\) denotes the distance between `q` and the point on the boundary of `r` farthest to `q`.
FT | max_distance_to_rectangle (Query_item q, Kd_tree_rectangle< FT, D > r, vector< FT > &dists)
| Returns the squared Euclidean distance, where \( d\) denotes the distance between `q` and the point on the boundary of `r` farthest to `q`.
FT | new_distance (FT dist, FT old_off, FT new_off, int cutting_dimension) const
| Updates the squared `dist` incrementally and returns the updated squared distance.
FT | transformed_distance (FT d) const
| Returns \( d^2\).
FT | inverse_of_transformed_distance (FT d) const
| Returns \( d^{1/2}\).

## Member Function Documentation

## ◆ max_distance_to_rectangle()

template<typename Traits >

FT CGAL::Euclidean_distance< Traits >::max_distance_to_rectangle | ( | Query_item | q,
|  | Kd_tree_rectangle< FT, D > | r,
|  | vector< FT > & | dists
| ) |  |

Returns the squared Euclidean distance, where \( d\) denotes the distance between `q` and the point on the boundary of `r` farthest to `q`.

Stores the distances in each dimension in `dists`.

## ◆ min_distance_to_rectangle()

template<typename Traits >

FT CGAL::Euclidean_distance< Traits >::min_distance_to_rectangle | ( | Query_item | q,
|  | Kd_tree_rectangle< FT, D > | r,
|  | vector< FT > & | dists
| ) |  |

Returns the squared Euclidean distance between `q` and the point on the boundary of `r` closest to `q`.

Stores the distances in each dimension in `dists`.