% +------------------------------------------------------------------------+
% | Reference manual page: GeneralDistance.tex
% +------------------------------------------------------------------------+
% | 1.07.2001   Johan W.H. Tangelder
% | Package: ASPAS
% |
\RCSdef{\RCSGeneralDistanceRev}{$Revision$}
\RCSdefDate{\RCSGeneralDistanceDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+


\begin{ccRefConcept}{GeneralDistance}

%% \ccHtmlCrossLink{}     %% add further rules for cross referencing links
%% \ccHtmlIndexC[concept]{} %% add further index entries

\ccDefinition

Requirements of a distance class defining a distance between a query item
denoting a spatial object and a point.
To optimize distance computations transformed distances are used.
E.g., for an Euclidian distance the transformed distance is the squared Euclidean distance.


\ccParameters

\ccc{QueryItem} represents a
$d$-dimensional
spatial object.
\ccc{Point} represents a $d$-dimensional point.

\ccTypes

\ccTypedef{Kernel_traits<Point>::Kernel::FT NT;}{Number type.}

\ccCreationVariable{d}  %% choose variable name

\ccOperations

\ccMethod{NT distance(QueryItem q, Point r);}{Returns the transformed distance between \ccc{q} and \ccc{r}.}

\ccMethod{NT min_distance_to_rectangle(QueryItem q, Kd_tree_rectangle<NT> r;);}
{Returns the transformed distance between \ccc{q} and
the point on the boundary of \ccc{r} closest to \ccc{q}.}

\ccMethod{NT max_distance_to_rectangle(QueryItem q, Kd_tree_rectangle<NT> r;);}
{Returns the transformed distance between \ccc{q} and
the point on the boundary of \ccc{r} furthest to \ccc{q}.}

\ccMethod{NT transformed_distance(NT d);} {Returns the transformed distance.}

\ccMethod{NT inverse_of_transformed_distance(NT d);} {Returns the inverse of the transformed distance.}

\ccHasModels

\ccc{CGAL::Manhattan_distance_rectangle_point<Query_item,Point>}\\
\ccc{CGAL::Euclidean_distance_sphere_point<QueryItem,Point>}.

\ccSeeAlso

OrthogonalDistance,
\ccc{CGAL::Manhattan_distance_rectangle_point<Query_item,Point>}\\
\ccc{CGAL::Euclidean_distance_sphere_point<QueryItem,Point>}.

\end{ccRefConcept}

% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

