From 95aae645c3471f6ea9236cd76b528d930de3d29d Mon Sep 17 00:00:00 2001 From: Efi Fogel Date: Tue, 23 Sep 2014 00:16:39 +0300 Subject: [PATCH] Fixed yet again _locate_around_pole --- .../Arr_spherical_topology_traits_2_impl.h | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_spherical_topology_traits_2_impl.h b/Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_spherical_topology_traits_2_impl.h index 0ada9cc403f..228376aa6e6 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_spherical_topology_traits_2_impl.h +++ b/Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_spherical_topology_traits_2_impl.h @@ -806,7 +806,9 @@ _locate_around_pole(Vertex* v, Arr_parameter_space curr_ps_x = ps_x_op(curr->curve(), curr_end); Comparison_result curr_res = (ps_x != curr_ps_x) ? - ((ps_x == ARR_LEFT_BOUNDARY) ? SMALLER : LARGER) : + ((ps_x == ARR_LEFT_BOUNDARY) ? SMALLER : + ((ps_x == ARR_RIGHT_BOUNDARY) ? LARGER : + ((curr_ps_x == ARR_LEFT_BOUNDARY) ? LARGER : SMALLER))) : ((ps_x != ARR_INTERIOR) ? EQUAL : cmp_x_curve_ends(xc, ind, curr->curve(), curr_end)); @@ -816,12 +818,16 @@ _locate_around_pole(Vertex* v, Arr_parameter_space next_ps_x = ps_x_op(next->curve(), next_end); Comparison_result next_res = (ps_x != next_ps_x) ? - ((ps_x == ARR_LEFT_BOUNDARY) ? SMALLER : LARGER) : + ((ps_x == ARR_LEFT_BOUNDARY) ? SMALLER : + ((ps_x == ARR_RIGHT_BOUNDARY) ? LARGER : + ((next_ps_x == ARR_LEFT_BOUNDARY) ? LARGER : SMALLER))) : ((ps_x != ARR_INTERIOR) ? EQUAL : cmp_x_curve_ends(xc, ind, next->curve(), next_end)); Comparison_result curr_next_res = (curr_ps_x != next_ps_x) ? - ((curr_ps_x == ARR_LEFT_BOUNDARY) ? SMALLER : LARGER) : + ((curr_ps_x == ARR_LEFT_BOUNDARY) ? SMALLER : + ((curr_ps_x == ARR_RIGHT_BOUNDARY) ? LARGER : + ((next_ps_x == ARR_LEFT_BOUNDARY) ? LARGER : SMALLER))) : ((curr_ps_x != ARR_INTERIOR) ? EQUAL : cmp_x_curve_ends(curr->curve(), curr_end, next->curve(), next_end));