\( \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
OrthogonalDistance Concept Reference

Definition

Requirements of an orthogonal distance class supporting incremental distance updates. To optimize distance computations transformed distances are used. E.g., for an Euclidean distance the transformed distance is the squared Euclidean distance.

Refines:
GeneralDistance
Has Models:

CGAL::Euclidean_distance<Traits>

CGAL::Weighted_Minkowski_distance<Traits>

Types

typedef unspecified_type D
 Dimension Tag.
 
typedef unspecified_type FT
 Number type.
 
typedef unspecified_type Point_d
 Point type.
 
typedef unspecified_type Query_item
 Query item type.
 

Creation

 OrthogonalDistance ()
 Constructor implementing distance for d-dimensional points.
 

Operations

FT transformed_distance (Query_item q, Point_d r) const
 Returns the transformed distance between q and r.
 
FT min_distance_to_rectangle (Query_item q, Kd_tree_rectangle< FT, D > r) const
 Returns the transformed 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, std::vector< FT > &dists)
 Returns the transformed 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 transformed 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, std::vector< FT > &dists)
 Returns the transformed distance between q and the point on the boundary of r farthest to q. More...
 
FT transformed_distance (FT d) const
 Returns the transformed distance.
 
FT inverse_of_transformed_distance (FT d) const
 Returns the inverse of the transformed distance.
 
FT new_distance (FT dist, FT old_off, FT new_off, int cutting_dimension) const
 Updates dist incrementally and returns the updated distance.
 

Member Function Documentation

◆ max_distance_to_rectangle()

FT OrthogonalDistance::max_distance_to_rectangle ( Query_item  q,
Kd_tree_rectangle< FT, D r,
std::vector< FT > &  dists 
)

Returns the transformed distance between q and the point on the boundary of r farthest to q.

The vector dists has the size of the dimension of the data points and is filled with the distance in each dimension.

◆ min_distance_to_rectangle()

FT OrthogonalDistance::min_distance_to_rectangle ( Query_item  q,
Kd_tree_rectangle< FT, D r,
std::vector< FT > &  dists 
)

Returns the transformed distance between q and the point on the boundary of r closest to q.

The vector dists has the size of the dimension of the data points and is filled with the distance in each dimension.