From: azv Date: Tue, 9 Feb 2016 12:53:00 +0000 (+0300) Subject: Regression while moving arc with fixed point with SolveSpace solver X-Git-Tag: V_2.2.0~140 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=0f79e1b0c5c1609f2fcc17cc87ee5163e6dd2db5;p=modules%2Fshaper.git Regression while moving arc with fixed point with SolveSpace solver --- 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();