From dbd3a8b49938696ded76c85bd197f3d5a0145010 Mon Sep 17 00:00:00 2001 From: azv Date: Tue, 9 Feb 2016 15:53:00 +0300 Subject: [PATCH] Regression while moving arc with fixed point with SolveSpace solver --- src/SketchSolver/SketchSolver_ConstraintFixedArcRadius.cpp | 4 +++- .../SolveSpaceSolver/SolveSpaceSolver_Storage.cpp | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/SketchSolver/SketchSolver_ConstraintFixedArcRadius.cpp b/src/SketchSolver/SketchSolver_ConstraintFixedArcRadius.cpp index e45137149..05f071f4f 100644 --- a/src/SketchSolver/SketchSolver_ConstraintFixedArcRadius.cpp +++ b/src/SketchSolver/SketchSolver_ConstraintFixedArcRadius.cpp @@ -53,7 +53,9 @@ void SketchSolver_ConstraintFixedArcRadius::fixFeature(EntityWrapperPtr theFeatu bool SketchSolver_ConstraintFixedArcRadius::remove() { - bool isFullyRemoved = SketchSolver_ConstraintFixed::remove(); + bool isFullyRemoved = true; + if (myBaseFeature) + isFullyRemoved = myStorage->removeEntity(myBaseFeature) && isFullyRemoved; if (myRadiusConstraint) isFullyRemoved = myStorage->removeConstraint(ConstraintPtr()) && myStorage->remove(myRadiusConstraint) && isFullyRemoved; diff --git a/src/SketchSolver/SolveSpaceSolver/SolveSpaceSolver_Storage.cpp b/src/SketchSolver/SolveSpaceSolver/SolveSpaceSolver_Storage.cpp index 154334351..c1bd90b6e 100644 --- a/src/SketchSolver/SolveSpaceSolver/SolveSpaceSolver_Storage.cpp +++ b/src/SketchSolver/SolveSpaceSolver/SolveSpaceSolver_Storage.cpp @@ -129,7 +129,7 @@ bool SolveSpaceSolver_Storage::update(EntityWrapperPtr theEntity) if (anEntity->baseAttribute()) { BuilderPtr aBuilder = SolveSpaceSolver_Builder::getInstance(); EntityWrapperPtr anUpdAttr = aBuilder->createAttribute(anEntity->baseAttribute(), GID_UNKNOWN); - if (anUpdAttr && !isFixed(theEntity)) { + if (anUpdAttr) { std::list anUpdParams = anUpdAttr->parameters(); std::list::iterator anUpdIt = anUpdParams.begin(); for (aPIt = aParams.begin(); aPIt != aParams.end() && anUpdIt != anUpdParams.end(); -- 2.39.2