diff --git a/Intersections_2/include/CGAL/Intersections_2/Segment_2_Segment_2.h b/Intersections_2/include/CGAL/Intersections_2/Segment_2_Segment_2.h index 9d88487598e..e4eaa4652d5 100644 --- a/Intersections_2/include/CGAL/Intersections_2/Segment_2_Segment_2.h +++ b/Intersections_2/include/CGAL/Intersections_2/Segment_2_Segment_2.h @@ -88,8 +88,10 @@ seg_seg_do_intersect_crossing( return S2S2_inter_info(i2); case RIGHT_TURN: return S2S2_inter_info(false); - default: // LEFT_TURN + case LEFT_TURN: return S2S2_inter_info(true); + default: + CGAL_assume(false); } } case RIGHT_TURN: @@ -100,14 +102,18 @@ seg_seg_do_intersect_crossing( return S2S2_inter_info(i2); case RIGHT_TURN: return S2S2_inter_info(true); - default: // LEFT_TURN + case LEFT_TURN: return S2S2_inter_info(false); + default: + CGAL_assume(false); } } - default: //COLLINEAR + case COLLINEAR: if (extra_test && k.collinear_2_object()(p3,p4,p2)) return S2S2_inter_info(i3, i2); return S2S2_inter_info(i3); + default: + CGAL_assume(false); } CGAL_kernel_assertion(false); return S2S2_inter_info(false); @@ -143,8 +149,10 @@ seg_seg_do_intersect_contained( return S2S2_inter_info(i4); case RIGHT_TURN: return S2S2_inter_info(true); - default: // LEFT_TURN + case LEFT_TURN: return S2S2_inter_info(false); + default: + CGAL_assume(false); } } case RIGHT_TURN: @@ -155,14 +163,18 @@ seg_seg_do_intersect_contained( return S2S2_inter_info(i4); case RIGHT_TURN: return S2S2_inter_info(false); - default: // LEFT_TURN + case LEFT_TURN: return S2S2_inter_info(true); + default: + CGAL_assume(false); } } - default: // COLLINEAR + case COLLINEAR: if (extra_test && k.collinear_2_object()(p3,p4,p2)) return S2S2_inter_info(i3, i4); return S2S2_inter_info(i3); + default: + CGAL_assume(false); } CGAL_kernel_assertion(false); return S2S2_inter_info(false); @@ -214,7 +226,7 @@ do_intersect_with_info(const typename K::Segment_2 &seg1, return S2S2_inter_info(false); case EQUAL: return S2S2_inter_info(A2_id); // DI_MORE_INFO_TAG: A2==B1 but only A2 is reported - default: // LARGER + case LARGER: switch(make_certain(compare_xy(A2,B2))) { case SMALLER: return seg_seg_do_intersect_crossing(A1,A2,B1,B2, A1_id,A2_id,B1_id+2,B2_id+2, k, extra_test); @@ -223,9 +235,14 @@ do_intersect_with_info(const typename K::Segment_2 &seg1, if (extra_test && k.collinear_2_object()(A1, A2, B1)) return S2S2_inter_info(B1_id+2, B2_id+2); // DI_MORE_INFO_TAG: A2==B2 but only B2 is reported return S2S2_inter_info(A2_id); // DI_MORE_INFO_TAG: A2==B2 but only A2 is reported - default: // LARGER + case LARGER: return seg_seg_do_intersect_contained(A1,A2,B1,B2, A1_id,A2_id,B1_id+2,B2_id+2, k, extra_test); + default: + CGAL_assume(false); } + default: + CGAL_assume(false); + } case EQUAL: if (extra_test) @@ -239,20 +256,23 @@ do_intersect_with_info(const typename K::Segment_2 &seg1, case EQUAL: // A1 = B1 < A2 = B2 return S2S2_inter_info(A1_id, A2_id); // DI_MORE_INFO_TAG: A1==B1 and A2==B2 but only A1 and A2 are reported - default: // LARGER + case LARGER: // A1 = B1 < B2 < A2 if (k.collinear_2_object()(A1,A2,B2)) return S2S2_inter_info(B1_id+2, B2_id+2); // DI_MORE_INFO_TAG: A1==B1 but only B1 is reported + break; + default: + CGAL_assume(false); } } return S2S2_inter_info(A1_id); // DI_MORE_INFO_TAG: A1==B1 but only A1 is reported - default: // LARGER + case LARGER: switch(make_certain(compare_xy(B2,A1))) { case SMALLER: return S2S2_inter_info(false); case EQUAL: return S2S2_inter_info(A1_id); // DI_MORE_INFO_TAG: A1==B2 but only A1 is reported - default: // LARGER + case LARGER: switch(make_certain(compare_xy(B2,A2))) { case SMALLER: return seg_seg_do_intersect_crossing(B1,B2,A1,A2, B1_id+2,B2_id+2,A1_id,A2_id, k, extra_test); @@ -261,10 +281,16 @@ do_intersect_with_info(const typename K::Segment_2 &seg1, if (extra_test && k.collinear_2_object()(B1, A1, B2)) return S2S2_inter_info(A1_id, A2_id); // DI_MORE_INFO_TAG: A2==B2 but only A2 is reported return S2S2_inter_info(A2_id); // DI_MORE_INFO_TAG: A2==B2 but only A2 is reported - default: // LARGER + case LARGER: return seg_seg_do_intersect_contained(B1,B2,A1,A2, B1_id+2,B2_id+2,A1_id,A2_id, k, extra_test); + default: + CGAL_assume(false); } + default: + CGAL_assume(false); } + default: + CGAL_assume(false); } CGAL_kernel_assertion(false);