]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Debug using tests for groups movement: TestGroupMove2.py, Test1757.py
authormpv <mpv@opencascade.com>
Mon, 28 Jan 2019 12:27:23 +0000 (15:27 +0300)
committermpv <mpv@opencascade.com>
Mon, 28 Jan 2019 12:27:23 +0000 (15:27 +0300)
src/CollectionPlugin/Test/TestGroupMove2.py
src/Model/Model_AttributeSelection.cpp
src/Model/Model_AttributeString.h

index 2fc004aec2b128c0bf49f2ecc76d652d5f27f649..46f1be056dc99714457b91984df70ee71e451031 100644 (file)
@@ -18,7 +18,7 @@
 ## email : webmaster.salome@opencascade.com<mailto:webmaster.salome@opencascade.com>
 ##
 
-# Test that removed vertex, selected in the group makes group with one invalid element (empty shape)
+# Test that removed vertex, selected in the group makes empty group => invalid one
 
 from salome.shaper import model
 from ModelAPI import *
@@ -41,5 +41,5 @@ model.end()
 # Check group
 aFactory = ModelAPI_Session.get().validators()
 selectionList = Group_1.feature().selectionList("group_list")
-assert(selectionList.size() == 1)
+assert(selectionList.size() == 0)
 assert(aFactory.validate(Group_1.feature()) == False)
index 517ef728dba52c69b1b0b96d3441f5ed1efd5c87..81354431248e90fdb47ccbaba47d12c5e013b2f1 100644 (file)
@@ -1315,8 +1315,13 @@ bool Model_AttributeSelection::searchNewContext(std::shared_ptr<Model_Document>
         if (!ModelAPI_Session::get()->validators()->isConcealed(
           aRefFeat->getKind(), (*aRef)->id()))
           continue;
-        if (!theDoc->isLaterByDep(aRefFeat, aThisFeature)) {
-          return true; // feature conceals result, return true, so the context will be removed
+        if (theDoc->isLaterByDep(aThisFeature, aRefFeat)) {
+          // for extrusion cut in python script the nested sketch reference may be concealed before
+          // it is nested, so, check this composite feature is valid
+          static ModelAPI_ValidatorsFactory* aFactory = ModelAPI_Session::get()->validators();
+          // need to be validated to update the "Apply" state if not previewed
+          if (aFactory->validate(aRefFeat))
+            return true; // feature conceals result, return true, so the context will be removed
         }
       }
     }
index deabf77880c6b1a271fb7d34746ddc775f13bf5e..733cb88bd9253f078b31d8e79c5d3e0ef29d20c5 100644 (file)
@@ -46,7 +46,7 @@ class Model_AttributeString : public ModelAPI_AttributeString
   MODEL_EXPORT virtual std::string value();
 
  protected:
-  /// Initializes attibutes
+  /// Initializes attributes
   Model_AttributeString(TDF_Label& theLabel);
   /// Reinitializes the internal state of the attribute (may be needed on undo/redo, abort, etc)
   virtual void reinit();