avoid using default

This commit is contained in:
Sébastien Loriot 2021-10-27 14:40:23 +02:00
parent b26a46a852
commit deee502152
1 changed files with 38 additions and 12 deletions

View File

@ -88,8 +88,10 @@ seg_seg_do_intersect_crossing(
return S2S2_inter_info(i2); return S2S2_inter_info(i2);
case RIGHT_TURN: case RIGHT_TURN:
return S2S2_inter_info(false); return S2S2_inter_info(false);
default: // LEFT_TURN case LEFT_TURN:
return S2S2_inter_info(true); return S2S2_inter_info(true);
default:
CGAL_assume(false);
} }
} }
case RIGHT_TURN: case RIGHT_TURN:
@ -100,14 +102,18 @@ seg_seg_do_intersect_crossing(
return S2S2_inter_info(i2); return S2S2_inter_info(i2);
case RIGHT_TURN: case RIGHT_TURN:
return S2S2_inter_info(true); return S2S2_inter_info(true);
default: // LEFT_TURN case LEFT_TURN:
return S2S2_inter_info(false); return S2S2_inter_info(false);
default:
CGAL_assume(false);
} }
} }
default: //COLLINEAR case COLLINEAR:
if (extra_test && k.collinear_2_object()(p3,p4,p2)) if (extra_test && k.collinear_2_object()(p3,p4,p2))
return S2S2_inter_info(i3, i2); return S2S2_inter_info(i3, i2);
return S2S2_inter_info(i3); return S2S2_inter_info(i3);
default:
CGAL_assume(false);
} }
CGAL_kernel_assertion(false); CGAL_kernel_assertion(false);
return S2S2_inter_info(false); return S2S2_inter_info(false);
@ -143,8 +149,10 @@ seg_seg_do_intersect_contained(
return S2S2_inter_info(i4); return S2S2_inter_info(i4);
case RIGHT_TURN: case RIGHT_TURN:
return S2S2_inter_info(true); return S2S2_inter_info(true);
default: // LEFT_TURN case LEFT_TURN:
return S2S2_inter_info(false); return S2S2_inter_info(false);
default:
CGAL_assume(false);
} }
} }
case RIGHT_TURN: case RIGHT_TURN:
@ -155,14 +163,18 @@ seg_seg_do_intersect_contained(
return S2S2_inter_info(i4); return S2S2_inter_info(i4);
case RIGHT_TURN: case RIGHT_TURN:
return S2S2_inter_info(false); return S2S2_inter_info(false);
default: // LEFT_TURN case LEFT_TURN:
return S2S2_inter_info(true); return S2S2_inter_info(true);
default:
CGAL_assume(false);
} }
} }
default: // COLLINEAR case COLLINEAR:
if (extra_test && k.collinear_2_object()(p3,p4,p2)) if (extra_test && k.collinear_2_object()(p3,p4,p2))
return S2S2_inter_info(i3, i4); return S2S2_inter_info(i3, i4);
return S2S2_inter_info(i3); return S2S2_inter_info(i3);
default:
CGAL_assume(false);
} }
CGAL_kernel_assertion(false); CGAL_kernel_assertion(false);
return S2S2_inter_info(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); return S2S2_inter_info(false);
case EQUAL: case EQUAL:
return S2S2_inter_info(A2_id); // DI_MORE_INFO_TAG: A2==B1 but only A2 is reported 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))) { switch(make_certain(compare_xy(A2,B2))) {
case SMALLER: 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); 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)) 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(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 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); 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: case EQUAL:
if (extra_test) if (extra_test)
@ -239,20 +256,23 @@ do_intersect_with_info(const typename K::Segment_2 &seg1,
case EQUAL: case EQUAL:
// A1 = B1 < A2 = B2 // 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 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 // A1 = B1 < B2 < A2
if (k.collinear_2_object()(A1,A2,B2)) 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 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 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))) { switch(make_certain(compare_xy(B2,A1))) {
case SMALLER: case SMALLER:
return S2S2_inter_info(false); return S2S2_inter_info(false);
case EQUAL: case EQUAL:
return S2S2_inter_info(A1_id); // DI_MORE_INFO_TAG: A1==B2 but only A1 is reported 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))) { switch(make_certain(compare_xy(B2,A2))) {
case SMALLER: 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); 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)) 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(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 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); 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); CGAL_kernel_assertion(false);