diff --git a/Arrangement_on_surface_2/include/CGAL/Arr_polyline_traits_2.h b/Arrangement_on_surface_2/include/CGAL/Arr_polyline_traits_2.h index 8ec4e4663f4..9fff9931512 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arr_polyline_traits_2.h +++ b/Arrangement_on_surface_2/include/CGAL/Arr_polyline_traits_2.h @@ -1033,7 +1033,8 @@ public: if (i1 == INVALID_INDEX) return oi; if (equal(max_vertex(cv1[i1]), min_vertex(cv2[i2]))) { - if ((i1 == n1-1) || (i1 == 0)){ + if (((dir1 == SMALLER) && (i1 == n1-1)) || + ((dir1 == LARGER) && (i1 == 0))){ // cv1's right endpoint equals cv2's left endpoint // Thus we can return this single(!) intersection point std::pair p(max_vertex(cv1[i1]), 0); @@ -1052,7 +1053,8 @@ public: if (i2 == INVALID_INDEX) return oi; if (equal(max_vertex(cv2[i2]), min_vertex(cv1[i1]))) { - if ((i2 == n2-1) || (i2 == 0)){ + if (((dir2 == SMALLER) && (i2 == n2-1)) || + ((dir2 == LARGER) && (i2 == 0))){ // cv2's right endpoint equals cv1's left endpoint // Thus we can return this single(!) intersection point std::pair p(max_vertex(cv2[i2]), 0); @@ -1061,7 +1063,6 @@ public: } dir2 == SMALLER ? ++i2 : --i2; - std::cout << "i2 = " << i2 << "\n"; left_res = EQUAL; } }