cgal/Curved_kernel/doc_tex/Curved_kernel_ref/FunctorsCompare.tex

173 lines
4.6 KiB
TeX

\begin{ccRefFunctionObjectConcept}{CircularKernel::CompareX_2}
\ccRefines
\ccc{Kernel::CompareX_2}
\ccCreationVariable{fo}
An object \ccVar\ of this type must provide in addition:
\ccMemberFunction{Comparison_result operator()
(const CircularKernel::Circular_arc_point_2 &p,
const CircularKernel::Circular_arc_point_2 &q );}
{Compares the $x$-coordinates of $p$ and $q$.}
%\ccMemberFunction{Comparison_result operator()
% (const CircularKernel::Point_2 &p,
% const CircularKernel::Circular_arc_point_2 &q );}
%{same.}
%\ccMemberFunction{Comparison_result operator()
% (const CircularKernel::Circular_arc_point_2 &p,
% const CircularKernel::Point_2 &q );}
%{same.}
\ccHasModels
\ccc{Circular_kernel_2::Compare_x_2;}
\ccSeeAlso
\ccRefIdfierPage{CGAL::compare_x}
\end{ccRefFunctionObjectConcept}
\begin{ccRefFunctionObjectConcept}{CircularKernel::CompareY_2}
\ccRefines
\ccc{Kernel::CompareY_2}
\ccCreationVariable{fo}
An object \ccVar\ of this type must provide in addition:
\ccMemberFunction{Comparison_result operator()
(const CircularKernel::Circular_arc_point_2 &p,
const CircularKernel::Circular_arc_point_2 &q );}
{Compares the $y$-coordinates of $p$ and $q$.}
%\ccMemberFunction{Comparison_result operator()
% (const CircularKernel::Point_2 &p,
% const CircularKernel::Circular_arc_point_2 &q );}
%{same.}
%\ccMemberFunction{Comparison_result operator()
% (const CircularKernel::Circular_arc_point_2 &p,
% const CircularKernel::Point_2 &q );}
%{same.}
\ccHasModels
\ccc{Circular_kernel_2::Compare_y_2;}
\ccSeeAlso
\ccRefIdfierPage{CGAL::compare_y}
\end{ccRefFunctionObjectConcept}
\begin{ccRefFunctionObjectConcept}{CircularKernel::CompareXY_2}
\ccRefines
\ccc{Kernel::CompareXY_2}
\ccCreationVariable{fo}
An object \ccVar\ of this type must provide in addition:
\ccMemberFunction{Comparison_result operator()
(const CircularKernel::Circular_arc_point_2 &p,
const CircularKernel::Circular_arc_point_2 &q );}
{Compares $p$ and $q$ according to the lexicographic ordering on $x$- and $y$-coordinates.}
%\ccMemberFunction{Comparison_result operator()
% (const CircularKernel::Point_2 &p,
% const CircularKernel::Circular_arc_point_2 &q );}
%{same.}
%\ccMemberFunction{Comparison_result operator()
% (const CircularKernel::Circular_arc_point_2 &p,
% const CircularKernel::Point_2 &q );}
%{same.}
\ccHasModels
\ccc{Circular_kernel_2::Compare_xy_2;}
\ccSeeAlso
\ccRefIdfierPage{CGAL::compare_xy}
\end{ccRefFunctionObjectConcept}
\begin{ccRefFunctionObjectConcept}{CircularKernel::CompareYatX_2}
\ccCreationVariable{fo}
An object \ccVar\ of this type must provide two operators that compare
a point $p$ and an arc $a$ on the vertical line passing through $p$.
\ccMemberFunction{Comparison_result operator()
(const CircularKernel::Circular_arc_point_2 &p,
const CircularKernel::Circular_arc_2 &a);}
{For a circular arc.
\ccPrecond{The arc $a$ must be monotone and $p$ must be in the vertical range
of $a$.}}
\ccMemberFunction{Comparison_result operator()
(const CircularKernel::Circular_arc_point_2 &p,
const CircularKernel::Line_arc_2 &a);}
{Same for a segment.}
\ccHasModels
\ccc{Circular_kernel_2::Compare_y_at_x_2;}
\ccSeeAlso
\ccRefIdfierPage{CGAL::compare_y_at_x}
\end{ccRefFunctionObjectConcept}
\begin{ccRefFunctionObjectConcept}{CircularKernel::CompareYtoRight_2}
\ccCreationVariable{fo}
An object \ccVar\ of this type must provide operators that compare vertically
two arcs on the right side of a common point $p$:
\ccMemberFunction{Comparison_result operator()
(const Circular_kernel_2::Circular_arc_2 &a1,
const Circular_kernel_2::Circular_arc_2 &a2,
const Circular_kernel_2::Circular_arc_point_2 &p);}
{For two circular arcs.
\ccPrecond{$p$ must be a common point to $a_1$ and $a_2$,
and $a_1$ and $a_2$ must be defined to the right of $p$.}}
\ccMemberFunction{Comparison_result operator()
(const Circular_kernel_2::Line_arc_2 &a1,
const Circular_kernel_2::Line_arc_2 &a2,
const Circular_kernel_2::Circular_arc_point_2 &p);}
{Same for two segments.}
\ccMemberFunction{Comparison_result operator()
(const Circular_kernel_2::Line_arc_2 &a1,
const Circular_kernel_2::Circular_arc_2 &a2,
const Circular_kernel_2::Circular_arc_point_2 &p);}
{For a segment and an arc.}
\ccMemberFunction{Comparison_result operator()
(const Circular_kernel_2::Circular_arc_2 &a1,
const Circular_kernel_2::Line_arc_2 &a2,
const Circular_kernel_2::Circular_arc_point_2 &p);}
{Same as previous.}
\ccHasModels
\ccc{Circular_kernel_2::Compare_y_to_right_2;}
\ccSeeAlso
\ccRefIdfierPage{CGAL::compare_y_to_right}
\end{ccRefFunctionObjectConcept}