diff --git a/Circular_kernel_2/include/CGAL/Filtered_bbox_circular_kernel_2/bbox_filtered_predicates.h b/Circular_kernel_2/include/CGAL/Filtered_bbox_circular_kernel_2/bbox_filtered_predicates.h index ee06ec4c550..7cba1071b81 100644 --- a/Circular_kernel_2/include/CGAL/Filtered_bbox_circular_kernel_2/bbox_filtered_predicates.h +++ b/Circular_kernel_2/include/CGAL/Filtered_bbox_circular_kernel_2/bbox_filtered_predicates.h @@ -695,6 +695,7 @@ class Do_overlap_2 typedef typename BK::Rline_arc_2 Rline_arc_2; typedef typename BK::Rcirc_arc_point_2 Rcirc_arc_point_2; typedef typename BK::Circle_2 Circle; + typedef typename BK::Line_2 Line_2; template < class OutputIterator > OutputIterator @@ -829,8 +830,35 @@ class Do_overlap_2 operator()(const Line_arc_2 & c1, const Circular_arc_2 & c2, OutputIterator res) { return operator()(c2,c1,res);} - - + + template < class OutputIterator > + OutputIterator + operator()(const Line_2 & c1, const Circular_arc_2 & c2, + OutputIterator res) + { + return CK().intersect_2_object()(c1,c2.arc(),res); + } + + template < class OutputIterator > + OutputIterator + operator()(const Line_2 & c1, const Line_arc_2 & c2, + OutputIterator res) + { + return CK().intersect_2_object()(c1,c2.arc(),res); + } + + template < class OutputIterator > + OutputIterator + operator()(const Circular_arc_2 & c1, const Line_2 & c2, + OutputIterator res) + { return operator()(c2,c1,res);} + + template < class OutputIterator > + OutputIterator + operator()(const Line_arc_2 & c1, const Line_2 & c2, + OutputIterator res) + { return operator()(c2,c1,res);} + }; diff --git a/Circular_kernel_2/test/Circular_kernel_2/test_Line_arc.cpp b/Circular_kernel_2/test/Circular_kernel_2/test_Line_arc.cpp index 38bbcae132a..fa6fe884f74 100644 --- a/Circular_kernel_2/test/Circular_kernel_2/test_Line_arc.cpp +++ b/Circular_kernel_2/test/Circular_kernel_2/test_Line_arc.cpp @@ -25,7 +25,6 @@ #include #include #include -#include #include #include #include