cgal/Triangulation_2/doc_tex/Triangulation_2_ref/DelaunayTriangulationTraits...

147 lines
4.9 KiB
TeX

% +------------------------------------------------------------------------+
% | Reference manual page: DelaunayTriangulationTraits_2.tex
% +------------------------------------------------------------------------+
% | 12.04.2000 Author
% | Package: Package
% |
\RCSdef{\RCSDelaunaytriangulationtraitsRev}{$Id$}
\RCSdefDate{\RCSDelaunaytriangulationtraitsDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
\begin{ccRefConcept}{DelaunayTriangulationTraits_2}
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
%% \ccHtmlIndexC[concept]{} %% add further index entries
\ccDefinition
In addition to the requirements
of the concept \ccc{TriangulationTraits_2}
described \ccRefPage{TriangulationTraits_2},
the concept \ccRefName\
provide a predicate to check the empty circle
property. The correponding predicate type
is called type \ccc{Side_of_oriented_circle_2}.
The additional types \ccc{Line_2},
\ccc{Ray_2} and the constructor objects
\ccc{Construct_ray_2}
\ccc{Construct_circumcenter_2}, \ccc{Construct_bisector_2},
\ccc{Construct_midpoint}
are used to build the dual Voronoi diagram
and are required only if the dual functions are called.
The additional predicate type \ccc{Compare_distance_2} is
required if calls to
\ccc{nearest_vertex(..)} are issued.
\ccRefines
\ccc{TriangulationTraits_2}
\ccTypes
\ccThree{DelaunayTriangulationTraits_2}{traits(dt)xxx}{}
\ccThreeToTwo
\ccNestedType{Line_2}{The line type. This type is required only if
some dual
functions are called.}
\ccGlue
\ccNestedType{Ray_2}{The type for ray. This type is required only if
some dual
functions are called.}
\ccNestedType{Side_of_oriented_circle_2}{Predicate type.
Provides the operator : \\
\ccc{Oriented_side operator()(Point p, Point q, Point r, Point s)}
which takes four points $p, q, r, s$ as arguments and returns
\ccc{ON_POSITIVE_SIDE}, \ccc{ON_NEGATIVE_SIDE} or,
\ccc{ON_ORIENTED_BOUNDARY} according to the position of points \ccc{s}
with respect to the oriented circle through $p,q$
and $r$.}
\ccGlue
\ccNestedType{Compare_distance_2} {Predicate type. Provides
the operator : \\
\ccc{Comparison_result operator()(Point_2 p, Point_2 q, Point_2 r)}
which returns \ccc{SMALLER}, \ccc{EQUAL} or \ccc{LARGER}
according to the distance between p and q being smaller, equal or larger
than the distance between p and r. This type is only require if
\ccc{nearest_vertex} queries are issued.}
\ccNestedType{Construct_circumcenter_2}{Constructor object. Provides
the operator : \\
\ccc{ Point_2 operator()(Point_2 p, Point_2 q, Point_2 r)} which returns
the circumcenter of the three points \ccc{p, q} anf \ccc{r}.
This type is required only if functions
relative to the dual Voronoi diagram are called.}
\ccGlue
\ccNestedType{Construct_bisector_2}{Constructor object. Provides
the operator : \\
\ccc{ Line_2 operator()(Point_2 p, Point_2 q)} which constructs the
bisector line of points \ccc{p} and \ccc{q}.
This type is required only if functions
relative to the dual Voronoi diagram are called.}
\ccGlue
\ccNestedType{Construct_ray_2}{A constructor object to build
a ray from a point and a line. Provides : \\
\ccc{Ray_2 operator() ( Point_2 p, Line_2 l);}}
\ccCreation
\ccCreationVariable{traits} %% choose variable name
\ccConstructor{DelaunayTriangulationTraits_2();}{default constructor.}
\ccGlue
\ccConstructor{DelaunayTriangulationTraits_2(DelaunayTriangulationTraits_2
dtt);}{copy constructor}
\ccGlue
\ccMethod{DelaunayTriangulationTraits_2
operator=(traits2);}{Assignment operator.}
\ccHeading{Access to predicate and constructor objects}
\ccThree{Construct_circumcenter_2}{traits.construct_circumcenter_2_object();}{}
\ccMethod{Side_of_oriented_circle_2
side_of_oriented_circle_2_object();}{}
The following functions are required only if
member functions of the Delaunay triangulation
relative to the dual Voronoi diagram are called.
\ccMethod{Compare_distance_2
compare_distance_2_object();} {}
\ccGlue
\ccMethod{Construct_circumcenter_2 construct_circumcenter_2_object();}{}
\ccGlue
\ccMethod{Construct_bisector_2 construct_bisector_2_object();}{}
\ccGlue
\ccMethod{Construct_direction_2 construct_direction_2_object();} {}
\ccGlue
\ccMethod{Construct_ray_2 construct_ray_2_object();} {}
\ccHasModels
\cgal kernels\\
\ccc{CGAL::Triangulation_euclidean_traits_2<Rep>}.
The following traits class provide everything except types and member
functions required for the dual Voronoi diagram~;\\
\ccc{CGAL::Triangulation_euclidean_traits_xy_3<Rep>}, \\
\ccc{CGAL::Triangulation_euclidean_traits_yz_3<Rep>}, \\
\ccc{CGAL::Triangulation_euclidean_traits_zx_3<Rep>}.
\ccSeeAlso
\ccc{TriangulationTraits_2}
\end{ccRefConcept}
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+