From de2ab7a6f600e0a903d8aaa71d3fe8b96ba20892 Mon Sep 17 00:00:00 2001 From: azv Date: Mon, 5 Sep 2016 15:53:23 +0300 Subject: [PATCH] Fix conflicting constraints problem on tangent arc (issue #1718) --- src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_Solver.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 -- 2.39.2