Skip to content

Commit d6fe9c0

Browse files
committed
improve: add condition for fast projection algorithm.
1 parent 53b9a55 commit d6fe9c0

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/LNLib/Geometry/Surface/NurbsSurface.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1337,8 +1337,10 @@ LNLib::UV LNLib::NurbsSurface::GetParamOnSurfaceByGSA(const LN_NurbsSurface& sur
13371337
u0 = ut;
13381338
v0 = vt;
13391339

1340-
if (MathUtils::IsLessThanOrEqual(abs(deltaU), Constants::DoubleEpsilon) &&
1341-
MathUtils::IsLessThanOrEqual(abs(deltaV), Constants::DoubleEpsilon))
1340+
bool condition1 = MathUtils::IsLessThanOrEqual(abs(deltaU), Constants::DoubleEpsilon) && MathUtils::IsLessThanOrEqual(abs(deltaV), Constants::DoubleEpsilon);
1341+
bool condition2 = MathUtils::IsLessThanOrEqual((abs(deltaU) * abs(deltaU) + abs(deltaV) * abs(deltaV)), Constants::DoubleEpsilon);
1342+
1343+
if (condition1 || condition2)
13421344
{
13431345
LNLib::UV newUV = UV(ut, vt);
13441346
XYZ newNormal = Normal(surface, newUV);

0 commit comments

Comments
 (0)