return zero for equivalent points

This avoids a ping-pong effect in the PSSP case.

It fixes the validity check of the following input br50noseg.cin:

s -50 -20    0 +30
s   0 +30  +50 -20
p -20   0
p +20   0

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
This commit is contained in:
Panagiotis Cheilaris 2013-08-18 17:42:59 +03:00
parent c56a0a004d
commit 2abab31e98
1 changed files with 9 additions and 0 deletions

View File

@ -1968,6 +1968,15 @@ private:
return POSITIVE;
}
if ((v_type == PSS) and (not is_q_hv) and (not is_r_hv)) {
if (test == EQUAL) {
CGAL_SDG_DEBUG(std::cout
<< "debug equivalent points and two non-hv segments,"
<< " thus return zero" << std::endl;);
return ZERO;
}
}
}
} else {
// tocheck and tofix