From: azv Date: Mon, 5 Sep 2016 12:53:23 +0000 (+0300) Subject: Fix conflicting constraints problem on tangent arc (issue #1718) X-Git-Tag: V_2.5.0~59^2~1 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=de2ab7a6f600e0a903d8aaa71d3fe8b96ba20892;p=modules%2Fshaper.git Fix conflicting constraints problem on tangent arc (issue #1718) --- diff --git a/src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_Solver.cpp b/src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_Solver.cpp index 72736bc43..01aa0da38 100644 --- a/src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_Solver.cpp +++ b/src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_Solver.cpp @@ -195,7 +195,7 @@ GCS::SolveStatus PlaneGCSSolver_Solver::solveWithoutTangent() if (!isTangentTruth(*aRemIt)) break; if (aRemIt != aRemovedTangent.end()) - aResult = GCS::Failed; + aResult = (GCS::SolveStatus)myEquationSystem->solve(myParameters); } if (aResult == GCS::Success) @@ -226,7 +226,7 @@ bool PlaneGCSSolver_Solver::isTangentTruth(GCS::Constraint* theTangent) const fabs(aDist2 - aRadDiff * aRadDiff) <= aTol2; } if (theTangent->getTypeId() == GCS::P2LDistance) { - static const double aTol2 = 1e-12; + static const double aTol2 = 1e-10; GCS::VEC_pD aParams = theTangent->params(); double aDist2 = *(aParams[6]) * *(aParams[6]); // orthogonal line direction