]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Rectangle problem correction. Wrong case is: create rectangle, move by the first...
authornds <nds@opencascade.com>
Tue, 24 May 2016 11:21:10 +0000 (14:21 +0300)
committernds <nds@opencascade.com>
Tue, 24 May 2016 11:21:34 +0000 (14:21 +0300)
Solver do not processes rectangle feature, but PartSet_WidgetPoint2D::storeValueCustom() relies on flush of updated. Result is that the solver flushes updated signal for not processed features and change own state to reacts to this signal.

src/SketchSolver/SketchSolver_Manager.cpp

index dec3ead7e8c407f5e7a1ddb982027f6cfe6a0173..4f16f7cd7ebcb594274c1c7c44a5d4042c788071 100644 (file)
@@ -135,6 +135,10 @@ void SketchSolver_Manager::processEvent(
           hasProperFeature = true;
         }
       }
+      if (!hasProperFeature) // in this iteration it will compute nothing, so, no problem with recursion
+        // it is important that solver flushes signal updated after processing move signal as there is
+        // optimization that relies on this update, might be found by key "optimization"
+        myIsComputed = false;
     } else {
       std::list<FeaturePtr> aSketchFeatures = SketchSolver_Group::selectApplicableFeatures(aFeatures);
       std::list<FeaturePtr>::iterator aFeatIter = aSketchFeatures.begin();