From 4cdce5facd9c93a530aa6eda7bd814754b538048 Mon Sep 17 00:00:00 2001 From: azv Date: Wed, 15 Jun 2016 11:26:45 +0300 Subject: [PATCH] Incorrect conflict constraint in PlaneGCSSolver --- 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 997bc1f4a..6cb6f4076 100644 --- a/src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_Solver.cpp +++ b/src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_Solver.cpp @@ -70,7 +70,7 @@ SketchSolver_SolveStatus PlaneGCSSolver_Solver::solve() for (; aPIt != aParams.end(); ++aPIt) if (aParameters.find(*aPIt) != aParameters.end()) break; - if (aPIt == aParams.end()) { + if (aPIt == aParams.end() && (*aConstrIt)->getTag() > 0) { myConflictingIDs.push_back((*aConstrIt)->getTag()); myConfCollected = true; aResult = GCS::Failed; @@ -106,7 +106,7 @@ SketchSolver_SolveStatus PlaneGCSSolver_Solver::solveWithoutTangent() // Remove tangency which leads to redundant or conflicting constraints GCS::VEC_I aConflicting, aRedundant; myEquationSystem.getRedundant(aRedundant); - size_t aNbRemove = aRedundant.size(); // number of tangent constraints which can be removed + size_t aNbRemove = myTangent.size(); // number of tangent constraints which can be removed myEquationSystem.getConflicting(aConflicting); aRedundant.insert(aRedundant.end(), aConflicting.begin(), aConflicting.end()); -- 2.39.2