corrected one bug to make the refine predicate do not refine when the edge is perfectly aligned with the distance function (and both or just one value is zero)

This commit is contained in:
Nico Pietroni 2014-05-04 23:33:31 +00:00
parent e57b89945f
commit f72e9a1481
1 changed files with 1 additions and 1 deletions

View File

@ -814,7 +814,7 @@ class QualityEdgePredicate
ScalarType q0=ep.f->V0(ep.z)->Q()-thr;
ScalarType q1=ep.f->V1(ep.z)->Q()-thr;
if(q0>q1) std::swap(q0,q1);
if ( q0*q1 > 0) return false;
if ( q0*q1 >= 0) return false;
// now a small check to be sure that we do not make too thin crossing.
double pp= q0/(q0-q1);
if ((fabs(pp)< tolerance)||(fabs(pp)> (1-tolerance))) return false;