Skip to content

Commit

Permalink
[geometry] Fix precision error
Browse files Browse the repository at this point in the history
  • Loading branch information
epernod committed Feb 3, 2025
1 parent 69f7922 commit 529246d
Showing 1 changed file with 12 additions and 2 deletions.
14 changes: 12 additions & 2 deletions Sofa/framework/Geometry/src/sofa/geometry/Edge.h
Original file line number Diff line number Diff line change
Expand Up @@ -292,8 +292,18 @@ struct Edge
return false;
}

const T alpha = alphaNom / alphaDenom;
const T beta = (dCACD + alpha * dABCD) / dCDCD;
T alpha = alphaNom / alphaDenom;
T beta = (dCACD + alpha * dABCD) / dCDCD;

if (abs(alpha) < EQUALITY_THRESHOLD)
alpha = 0;
else if (alpha > (1 - EQUALITY_THRESHOLD) && alpha < (1+ EQUALITY_THRESHOLD))
alpha = 1;

if (abs(beta) < EQUALITY_THRESHOLD)
beta = 0;
else if (beta > (1 - EQUALITY_THRESHOLD) && beta < (1 + EQUALITY_THRESHOLD))
beta = 1;

const Node pX = pA + alpha * AB;
const Node pY = pC + beta * CD;
Expand Down

0 comments on commit 529246d

Please sign in to comment.