Salome HOME
Added support of python high level API addons proposed by DBC as test of this approach.
[modules/shaper.git] / src / PartSetPlugin / PartSetPlugin_Remove.cpp
index d77712bb34a01cd5c025da5b44165a95fc525dc8..0c47368fc1eeb4ea8c56f0a99c44e78b33c3eb1a 100644 (file)
@@ -11,6 +11,7 @@
 #include <ModelAPI_AttributeDocRef.h>
 #include <ModelAPI_ResultPart.h>
 #include <ModelAPI_Session.h>
+#include <ModelAPI_Feature.h>
 
 void PartSetPlugin_Remove::execute()
 {
@@ -28,7 +29,10 @@ void PartSetPlugin_Remove::execute()
       if (aFeature) {
         // do remove
         aPart->data()->document(ModelAPI_ResultPart::DOC_REF())->value()->close();
-        aRoot->removeFeature(aFeature);
+        std::set<std::shared_ptr<ModelAPI_Feature> > aRefFeatures;
+        aRoot->refsToFeature(aFeature, aRefFeatures);
+        if (aRefFeatures.empty())
+          aRoot->removeFeature(aFeature);
       }
     }
   }