Salome HOME
Recalculate DoF when removing feature without constraints (issue #1456)
authorazv <azv@opencascade.com>
Thu, 28 Apr 2016 06:14:53 +0000 (09:14 +0300)
committerazv <azv@opencascade.com>
Thu, 28 Apr 2016 06:14:53 +0000 (09:14 +0300)
src/SketchSolver/SketchSolver_Manager.cpp

index 7b6bc263b0b772f6d6fff18e3c1aa1d15eb9683e..aef46368a1251c6b4180db8607f7fc43b4049095 100644 (file)
@@ -178,6 +178,7 @@ void SketchSolver_Manager::processEvent(
         break;
 
     if (aFGrIter != aFeatureGroups.end()) {
+      hasProperFeature = true;
       std::list<SketchSolver_Group*> aGroupsToResolve;
       std::list<SketchSolver_Group*>::iterator aGroupIter = myGroups.begin();
       std::list<SketchSolver_Group*> aSeparatedGroups;
@@ -186,7 +187,6 @@ void SketchSolver_Manager::processEvent(
           delete *aGroupIter;
           std::list<SketchSolver_Group*>::iterator aRemoveIt = aGroupIter++;
           myGroups.erase(aRemoveIt);
-          hasProperFeature = true;
           continue;
         }
         if (!(*aGroupIter)->isConsistent()) {  // some constraints were removed, try to split the group
@@ -194,7 +194,6 @@ void SketchSolver_Manager::processEvent(
           //if (!(*aGroupIter)->getWorkplane()->string(
           //    SketchPlugin_Sketch::SOLVER_ERROR())->value().empty())
             aGroupsToResolve.push_back(*aGroupIter);
-          hasProperFeature = true;
         }
         aGroupIter++;
       }