 CGAL 5.5.1 - dD Spatial Searching
CGAL::Euclidean_distance< Traits > Class Template Reference

#include <CGAL/Euclidean_distance.h>

## Definition

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 >.
Is Model Of:
OrthogonalDistance
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. More...

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. More...

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}$$.

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