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:
parent
e57b89945f
commit
f72e9a1481
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue