From 58b13c9e893fa3fc92b41a4885e9bea33ec763a9 Mon Sep 17 00:00:00 2001 From: Pedro Machado Manhaes de Castro Date: Sat, 12 Aug 2006 16:27:09 +0000 Subject: [PATCH] Split_3 + do_overlap --- .../internal_functions_on_line_arc_3.h | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Circular_kernel_3/include/CGAL/Circular_kernel_3/internal_functions_on_line_arc_3.h b/Circular_kernel_3/include/CGAL/Circular_kernel_3/internal_functions_on_line_arc_3.h index de4a460c6e2..308f0f5d49c 100644 --- a/Circular_kernel_3/include/CGAL/Circular_kernel_3/internal_functions_on_line_arc_3.h +++ b/Circular_kernel_3/include/CGAL/Circular_kernel_3/internal_functions_on_line_arc_3.h @@ -30,11 +30,14 @@ namespace CGAL { inline bool do_overlap(const typename SK::Line_arc_3 &l1, - const typename SK::Line_arc_3 &l2) + const typename SK::Line_arc_3 &l2, + const bool known_equal_supporting_line = false) { - if (!non_oriented_equal(l1.supporting_line(), - l2.supporting_line())) - return false; + if(!known_equal_supporting_line) { + if (!non_oriented_equal(l1.supporting_line(), + l2.supporting_line())) + return false; + } return SK().compare_xyz_3_object()(l1.higher_xyz_extremity(), l2.lower_xyz_extremity()) >= 0 @@ -50,6 +53,7 @@ namespace CGAL { typename SK::Line_arc_3 &l2) { typedef typename SK::Line_arc_3 Line_arc_3; + // The point must be on the line arc CGAL_kernel_precondition(SK().has_on_3_object()(l, p)); // It doesn't make sense to split an arc on an extremity CGAL_kernel_precondition(l.source() != p);