mirror of https://github.com/CGAL/cgal
147 lines
4.9 KiB
TeX
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 corresponding 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} and \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
|
|
% +------------------------------------------------------------------------+
|
|
|