]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
A fix for the bug: it is possible to apply extrusion even if the algorithm is failed...
authornds <natalia.donis@opencascade.com>
Wed, 20 May 2015 12:30:23 +0000 (15:30 +0300)
committernds <natalia.donis@opencascade.com>
Wed, 20 May 2015 12:30:23 +0000 (15:30 +0300)
Scenario: create a sketch, create a part, visualize all default planes, create extrusion, select a sketch, in "to" control select a perpendicular plane. An error message appears but "Apply" is enabled.
This fix disables the "Apply" button.

src/ModuleBase/ModuleBase_Operation.cpp

index ba66473b51c2bbc00ae832eb5c53a06bb93edd7e..17c2e936a33c0c15c1462bea009721da099a4ca8 100644 (file)
@@ -71,7 +71,13 @@ bool ModuleBase_Operation::isValid() const
   //Get validators for the Id
   SessionPtr aMgr = ModelAPI_Session::get();
   ModelAPI_ValidatorsFactory* aFactory = aMgr->validators();
-  return aFactory->validate(myFeature);
+  bool aValid = aFactory->validate(myFeature);
+
+  // the feature exec state should be checked in order to do not apply features, which result can not
+  // be built. E.g. extrusion on sketch, where the "to" is a perpendicular plane to the sketch
+  bool isDone = myFeature->data()->execState() == ModelAPI_StateDone;
+
+  return aValid && isDone;
 }