\( \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.8 - dD Spatial Searching

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
OrthogonalDistance Concept Reference
Concepts

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

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.

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.