]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Regression while moving arc with fixed point with SolveSpace solver
authorazv <azv@opencascade.com>
Tue, 9 Feb 2016 12:53:00 +0000 (15:53 +0300)
committerazv <azv@opencascade.com>
Tue, 9 Feb 2016 12:53:18 +0000 (15:53 +0300)
src/SketchSolver/SketchSolver_ConstraintFixedArcRadius.cpp
src/SketchSolver/SolveSpaceSolver/SolveSpaceSolver_Storage.cpp

index e451371492df94835372ad1db49aaa706e1b2e82..05f071f4ff60b403f830fb950063d7ee913afca8 100644 (file)
@@ -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;
index 15433435137c32ff4f0108d1c3d83737e255bd60..c1bd90b6eacd17034dc756cf8325dc70701cfc7e 100644 (file)
@@ -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<ParameterWrapperPtr> anUpdParams = anUpdAttr->parameters();
       std::list<ParameterWrapperPtr>::iterator anUpdIt = anUpdParams.begin();
       for (aPIt = aParams.begin(); aPIt != aParams.end() && anUpdIt != anUpdParams.end();