diff --git a/.gitattributes b/.gitattributes index edbc8d1a5f8..097cb4a8d21 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1283,6 +1283,7 @@ Circular_kernel_2/demo/Circular_kernel_2/help/sweeper.jpeg -text svneol=unset#im Circular_kernel_2/demo/Circular_kernel_2/help/trash.jpeg -text svneol=unset#image/jpeg Circular_kernel_2/doc_tex/Circular_kernel_2/fig/Boolean_operation.png -text Circular_kernel_2/doc_tex/Circular_kernel_2/fig/Boolean_operation_detail.png -text +Circular_kernel_2/doc_tex/Circular_kernel_2_ref/global_functions.tex -text Circular_kernel_2/examples/Circular_kernel_2/functor_has_on_2.cpp -text Circular_kernel_2/include/CGAL/Circular_kernel_intersections.h -text Circular_kernel_2/include/CGAL/Filtered_bbox_circular_kernel_2/interface_macros.h -text diff --git a/Circular_kernel_2/doc_tex/Circular_kernel_2_ref/global_functions.tex b/Circular_kernel_2/doc_tex/Circular_kernel_2_ref/global_functions.tex new file mode 100644 index 00000000000..5d262eb1256 --- /dev/null +++ b/Circular_kernel_2/doc_tex/Circular_kernel_2_ref/global_functions.tex @@ -0,0 +1,104 @@ +\begin{ccRefFunction}{x_extremal_point} + +\ccInclude{CGAL/global_functions_circular_kernel_2.h} + +\ccFunction{Circular_arc_point_2 + x_extremal_point(const Circle_2 & c, bool i);} +{Returns the $i^{th}$ $x$-extremal point of the circle.} + +\end{ccRefFunction} +\begin{ccRefFunction}{y_extremal_point} + +\ccInclude{CGAL/global_functions_circular_kernel_2.h} + +\ccFunction{Circular_arc_point_2 + y_extremal_point(const Circle_2 & c, bool i);} +{Returns the $i^{th}$ $y$-extremal point of the circle.} + +\end{ccRefFunction} +\begin{ccRefFunction}{x_extremal_points} + +\ccInclude{CGAL/global_functions_circular_kernel_2.h} + +\ccFunction{template < class OutputIterator > + OutputIterator + x_extremal_points(const Circle_2 & c, + OutputIterator res);} +{Copies in the output iterator the $x$-extremal points of the + circle. \ccc{res} iterates on elements of type + \ccc{Circular_arc_point_2}, sorted in $x$.} + +\end{ccRefFunction} +\begin{ccRefFunction}{y_extremal_points} + +\ccInclude{CGAL/global_functions_circular_kernel_2.h} + +\ccFunction{template < class OutputIterator > + OutputIterator + y_extremal_points(const Circle_2 & c, + OutputIterator res);} +{Copies in the output iterator the $y$-extremal points of the + circle. \ccc{res} iterates on elements of type + \ccc{Circular_arc_point_2}, sorted in $y$.} + +\end{ccRefFunction} +\begin{ccRefFunction}{has_on} + +\ccInclude{CGAL/global_functions_circular_kernel_2.h} + +\ccFunction{bool + has_on(const Circle_2 &c, + const Circular_arc_point_2 &p);} +{Checks whether the point lies on the circle.} + +\end{ccRefFunction} +\begin{ccRefFunction}{compare_y_to_right} + +\ccFunction{CGAL::Comparison_result + compare_y_to_right(const Circular_arc_2 &ca1, + const Circular_arc_2 &ca2, + Circular_arc_point_2 &p);} +{Compares vertically the two arcs, to the right of the point $p$, +\ccPrecond{$p$ is an intersection point of the arcs, and the arcs are + defined to the right of $p$.}} + +\end{ccRefFunction} +\begin{ccRefFunction}{point_in_x_range} + +\ccInclude{CGAL/global_functions_circular_kernel_2.h} + +\ccFunction{bool + point_in_x_range(const Circular_arc_2 &ca, + const Circular_arc_point_2 &p);} +{Checks whether the point lies in the vertical range defined by the + arc.} + +\ccFunction{bool + point_in_x_range(const Line_arc_2 &ca, + const Circular_arc_point_2 &p);} +{Checks whether the point lies in the vertical range defined by the + line segment.} + +\end{ccRefFunction} +\begin{ccRefFunction}{make_x_monotone} + +\ccInclude{CGAL/global_functions_circular_kernel_2.h} + +\ccFunction{template < class OutputIterator > + OutputIterator + make_x_monotone(const Circular_arc_2 &ca, + OutputIterator res);} +{Copies in the output iterator the $x$-monotone sub-arcs of $ca$.} + +\end{ccRefFunction} +\begin{ccRefFunction}{make_xy_monotone} + +\ccInclude{CGAL/global_functions_circular_kernel_2.h} + +\ccFunction{template < class OutputIterator > + OutputIterator + make_xy_monotone(const Circular_arc_2 &ca, + OutputIterator res);} +{Copies in the output iterator the $xy$-monotone sub-arcs of $ca$.} + +\end{ccRefFunction} \ No newline at end of file diff --git a/Circular_kernel_2/doc_tex/Circular_kernel_2_ref/intro.tex b/Circular_kernel_2/doc_tex/Circular_kernel_2_ref/intro.tex index 2c9c5f7fcee..6950f3af411 100644 --- a/Circular_kernel_2/doc_tex/Circular_kernel_2_ref/intro.tex +++ b/Circular_kernel_2/doc_tex/Circular_kernel_2_ref/intro.tex @@ -54,7 +54,8 @@ \ccRefConceptPage{CircularKernel::IsXMonotone_2}\\ \ccRefConceptPage{CircularKernel::IsYMonotone_2} -\ccRefConceptPage{CircularKernel::MakeXMonotone_2} +\ccRefConceptPage{CircularKernel::MakeXMonotone_2}\\ +\ccRefConceptPage{CircularKernel::MakeXYMonotone_2} \ccRefConceptPage{CircularKernel::Intersect_2} @@ -84,9 +85,28 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Geometric Global Functions} +\ccRefIdfierPage{CGAL::compare_x}\\ +\ccRefIdfierPage{CGAL::compare_y}\\ +\ccRefIdfierPage{CGAL::compare_xy} + +\ccRefIdfierPage{CGAL::compare_y_at_x}\\ +\ccRefIdfierPage{CGAL::compare_y_to_right}\\ +\ccRefIdfierPage{CGAL::point_in_x_range} + +\ccRefIdfierPage{CGAL::has_on} + \ccRefIdfierPage{CGAL::do_intersect}\\ \ccRefIdfierPage{CGAL::intersection} +\ccRefIdfierPage{CGAL::x_extremal_point}\\ +\ccRefIdfierPage{CGAL::y_extremal_point}\\ +\ccRefIdfierPage{CGAL::x_extremal_points}\\ +\ccRefIdfierPage{CGAL::y_extremal_points} + +\ccRefIdfierPage{CGAL::make_x_monotone}\\ +\ccRefIdfierPage{CGAL::make_xy_monotone} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Algebraic Concepts} diff --git a/Circular_kernel_2/doc_tex/Circular_kernel_2_ref/main.tex b/Circular_kernel_2/doc_tex/Circular_kernel_2_ref/main.tex index f7202f5fc5b..709d16f0403 100644 --- a/Circular_kernel_2/doc_tex/Circular_kernel_2_ref/main.tex +++ b/Circular_kernel_2/doc_tex/Circular_kernel_2_ref/main.tex @@ -30,6 +30,10 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\input{Circular_kernel_2_ref/global_functions} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \input{Circular_kernel_2_ref/AlgebraicKernelForCircles} %concept \input{Circular_kernel_2_ref/Algebraic_kernel_for_circles_2_2}