mirror of https://github.com/CGAL/cgal
88 lines
3.6 KiB
TeX
88 lines
3.6 KiB
TeX
% +------------------------------------------------------------------------+
|
|
% | Reference manual page: ShortestPathTraits.tex
|
|
% +------------------------------------------------------------------------+
|
|
% | Last revision: 09.07.2002
|
|
% | Author : Pierre Angelier <Pierre.Angelier@ens.fr>
|
|
% | Maintainer: Laurent Rineau <Laurent.Rineau@ens.fr>
|
|
% | Package: Visibility_complex
|
|
% +------------------------------------------------------------------------+
|
|
|
|
\ccRefPageBegin
|
|
% +----------------------------------------------------------------------------+
|
|
|
|
\begin{ccRefConcept}{ShortestPathTraits}
|
|
\label{pageShortestPathTraitsRef}
|
|
|
|
% +----------------------------------------------------------------------------+
|
|
\ccDefinition
|
|
|
|
The concept \ccRefName\ describes the set of requirements to be fulfilled by
|
|
any class used to instantiate the last parameter in the shortest\_path\_2
|
|
\ccIndexMainItem[c]{shortest_path_2} function. This function computes the shortest path between
|
|
two points in a scene.
|
|
This concept inherits all the types and requirement from the
|
|
\ccc{VisibilityComplexTraits} concept and adds a few additional primitives used
|
|
specifically for shortest path computations.
|
|
|
|
We distinguish two different number types: the one used for the input data and
|
|
the one used for the distance computations during our algorithm. The latter type
|
|
has to support the square root operation whereas the first type doesn't (i.e. it
|
|
can be of integer type).
|
|
% +----------------------------------------------------------------------------+
|
|
|
|
% +----------------------------------------------------------------------------+
|
|
\ccTypes
|
|
\ccThree{ShortestPathTraits::Exact_NT }{}{}
|
|
\ccThreeToTwo
|
|
|
|
\ccNestedType{Exact_NT}{the number type used to compute distances. It must
|
|
support the square root operation.}
|
|
\ccGlue
|
|
\ccNestedType{Disk}{the disk type.}
|
|
\ccGlue
|
|
\ccNestedType{Arc_2}{the arc type. Model of the \ccc{Arc} concept.}
|
|
\ccGlue
|
|
\ccNestedType{Bitangent_2}{the bitangent type. Model of the \ccc{Bitangent}
|
|
concept.}
|
|
% +----------------------------------------------------------------------------+
|
|
|
|
% +----------------------------------------------------------------------------+
|
|
|
|
% +----------------------------------------------------------------------------+
|
|
\ccCreation
|
|
\ccCreationVariable{traits}
|
|
|
|
\ccConstructor{ShortestPathTraits();} {default constructor.}
|
|
% +----------------------------------------------------------------------------+
|
|
|
|
% +----------------------------------------------------------------------------+
|
|
\ccOperations
|
|
|
|
\ccTagFullDeclarations
|
|
\ccMethod{Disk make_convex_from_point(Point_2 p);}{method to create a disk from a point.}
|
|
\ccGlue
|
|
\ccMethod{bool is_vertex(Disk d);}{returns true if \ccc{d} is a point. }
|
|
\ccGlue
|
|
\ccMethod{Exact_NT length(Arc_2 a, Bitangent_2 b, Bitangent_2 c);}
|
|
{returns the length of the arc \ccc{a} defined by the two bitangents \ccc{b} and
|
|
\ccc{c}.}
|
|
\ccGlue
|
|
\ccMethod{Exact_NT length(Bitangent_2 b);}{return the length of the bitangent
|
|
\ccc{b}.}
|
|
|
|
\ccTagDefaults
|
|
% +----------------------------------------------------------------------------+
|
|
|
|
% +----------------------------------------------------------------------------+
|
|
\ccHasModels
|
|
|
|
\ccRefIdfierPage{CGAL::Shortest_path_point_traits<R,E>} \\
|
|
\ccRefIdfierPage{CGAL::Shortest_path_segment_traits<R,E>} \\
|
|
\ccRefIdfierPage{CGAL::Shortest_path_polygon_traits<R,E>}
|
|
% +----------------------------------------------------------------------------+
|
|
|
|
% +----------------------------------------------------------------------------+
|
|
\end{ccRefConcept}
|
|
\ccRefPageEnd
|
|
% +----------------------------------------------------------------------------+
|