From 3f4623cea06acdc33cafdf2e52a608f45ebb6684 Mon Sep 17 00:00:00 2001 From: Efi Fogel Date: Wed, 12 Sep 2012 14:39:39 +0000 Subject: [PATCH] Completed function description --- .../compute_intersection_points.tex | 25 ++++++++++++----- .../Sweep_line_2_ref/compute_subcurves.tex | 27 ++++++++++++++----- .../Sweep_line_2_ref/do_curves_intersect.tex | 14 +++++++--- 3 files changed, 50 insertions(+), 16 deletions(-) diff --git a/Arrangement_on_surface_2/doc_tex/Sweep_line_2_ref/compute_intersection_points.tex b/Arrangement_on_surface_2/doc_tex/Sweep_line_2_ref/compute_intersection_points.tex index a092351bd06..01b7411e240 100644 --- a/Arrangement_on_surface_2/doc_tex/Sweep_line_2_ref/compute_intersection_points.tex +++ b/Arrangement_on_surface_2/doc_tex/Sweep_line_2_ref/compute_intersection_points.tex @@ -4,12 +4,26 @@ \ccInclude{CGAL/Sweep_line_2_algorithms.h} -\ccFunction{template +\ccGlobalFunction{template OutputIterator compute_intersection_points (InputIterator curves_begin, - InputIterator curves_end, - OutputIterator points, - bool report_endpoints = false, - Traits traits = Default_traits());} + InputIterator curves_end, + OutputIterator points, + bool report_endpoints = false);} +{Given a range of curves, compute all intersection points between two (or more) + input curves. When the flag \ccc{report_endpoints} is \ccc{true}, + this function reports all the curve endpoints as well. If a curve + endpoint is also an intersection point, it is reported once (regardless + of the value of the \ccc{report_endpoints} flag). The value-type of + \ccc{InputIterator} is a curve type and the value-type of \ccc{OutputIterator} + is a point type. The output points are reported in an increasing + $xy$-lexicographical order.} +\ccGlue +\ccGlobalFunction{template +OutputIterator compute_intersection_points (InputIterator curves_begin, + InputIterator curves_end, + OutputIterator points, + bool report_endpoints = false, + Traits traits);} {given a range of curves, compute all intersection points between two (or more) input curves. When the flag \ccc{report_endpoints} is \ccc{true}, this function reports all the curve endpoints as well. If a curve @@ -19,7 +33,6 @@ OutputIterator compute_intersection_points (InputIterator curves_begin, value-type of \ccc{InputIterator} is \ccc{Traits::Curve_2}, and the value-type of \ccc{OutputIterator} is \ccc{Traits::Point_2}. The output points are reported in an increasing $xy$-lexicographical order.} - \end{ccRefFunction} \ccRefPageEnd diff --git a/Arrangement_on_surface_2/doc_tex/Sweep_line_2_ref/compute_subcurves.tex b/Arrangement_on_surface_2/doc_tex/Sweep_line_2_ref/compute_subcurves.tex index 78c47eadcdc..ef426134faf 100644 --- a/Arrangement_on_surface_2/doc_tex/Sweep_line_2_ref/compute_subcurves.tex +++ b/Arrangement_on_surface_2/doc_tex/Sweep_line_2_ref/compute_subcurves.tex @@ -4,13 +4,26 @@ \ccInclude{CGAL/Sweep_line_2_algorithms.h} -\ccFunction{template +\ccGlobalFunction{template OutputIterator compute_subcurves (InputIterator curves_begin, - InputIterator curves_end, - OutputIterator subcurves, - bool multiple_overlaps = false, - Traits traits = Default_traits());} -{given a range of curves, compute all $x$-monotone subcurves that are pairwise + InputIterator curves_end, + OutputIterator subcurves, + bool multiple_overlaps = false);} +{Given a range of curves, compute all $x$-monotone subcurves that are pairwise + disjoint in their interior, as induced by the input curves. + If the flag \ccc{multiple_overlaps} is \ccc{true}, then a subcurve that + represents an overlap of $k$ input curves is reported $k$ times; otherwise, + each subcurve is reported only once. The value-type of + \ccc{InputIterator} is a curve type, and the value-type of + \ccc{OutputIterator} is an $x$-monotone curve type.} +\ccGlue +\ccGlobalFunction{template +OutputIterator compute_subcurves (InputIterator curves_begin, + InputIterator curves_end, + OutputIterator subcurves, + bool multiple_overlaps = false, + Traits traits = Default_traits());} +{Given a range of curves, compute all $x$-monotone subcurves that are pairwise disjoint in their interior, as induced by the input curves. If the flag \ccc{multiple_overlaps} is \ccc{true}, then a subcurve that represents an overlap of $k$ input curves is reported $k$ times; otherwise, @@ -18,7 +31,7 @@ OutputIterator compute_subcurves (InputIterator curves_begin, of the \ccc{ArrangementTraits_2} concept, such that the value-type of \ccc{InputIterator} is \ccc{Traits::Curve_2}, and the value-type of \ccc{OutputIterator} is \ccc{Traits::X_monotone_curve_2}.} - + \end{ccRefFunction} \ccRefPageEnd diff --git a/Arrangement_on_surface_2/doc_tex/Sweep_line_2_ref/do_curves_intersect.tex b/Arrangement_on_surface_2/doc_tex/Sweep_line_2_ref/do_curves_intersect.tex index 624a54eb1d0..f67cd20264c 100644 --- a/Arrangement_on_surface_2/doc_tex/Sweep_line_2_ref/do_curves_intersect.tex +++ b/Arrangement_on_surface_2/doc_tex/Sweep_line_2_ref/do_curves_intersect.tex @@ -4,17 +4,25 @@ \ccInclude{CGAL/Sweep_line_2_algorithms.h} -\ccFunction{template +\ccGlobalFunction{template +bool do_curves_intersect (InputIterator curves_begin, + InputIterator curves_end);} +{given a range of curves, check whether there is at least one pair of curves + that intersect in their interior. The function returns \ccc{true} if such + a pair is found, and \ccc{false} if all curves are pairwise disjoint in + their interior. The value-type of \ccc{InputIterator} is a curve type.} +\ccGlue +\ccGlobalFunction{template bool do_curves_intersect (InputIterator curves_begin, InputIterator curves_end, Traits traits = Default_traits());} {given a range of curves, check whether there is at least one pair of curves that intersect in their interior. The function returns \ccc{true} if such a pair is found, and \ccc{false} if all curves are pairwise disjoint in - their interior.The \ccc{Traits} type must be a model + their interior. The \ccc{Traits} type must be a model of the \ccc{ArrangementTraits_2} concept, such that the value-type of \ccc{InputIterator} is \ccc{Traits::Curve_2}.} - + \end{ccRefFunction} \ccRefPageEnd