Salome HOME
Merge branch 'master' of newgeom:newgeom.git
[modules/shaper.git] / src / PartSetPlugin / PartSetPlugin_Remove.cpp
index 0e09f3a607b7e440cbfe3a49fbfffd25cdbf440a..ca31737285e7b2c7b83ad9342b57fe4a7d2db1c9 100644 (file)
@@ -15,13 +15,14 @@ void PartSetPlugin_Remove::execute()
   boost::shared_ptr<ModelAPI_Document> aCurrent;
   boost::shared_ptr<PartSetPlugin_Part> a;
   for(int a = aRoot->size(getGroup()) - 1; a >= 0; a--) {
-    FeaturePtr aFeature = aRoot->feature(getGroup(), a, true);
-    if (aFeature->getKind() == PARTSET_PART_KIND) {
+    FeaturePtr aFeature = 
+      boost::dynamic_pointer_cast<ModelAPI_Feature>(aRoot->object(ModelAPI_Feature::group(), a));
+    if (aFeature->getKind() == PartSetPlugin_Part::ID()) {
       boost::shared_ptr<PartSetPlugin_Part> aPart = 
         boost::static_pointer_cast<PartSetPlugin_Part>(aFeature);
-      if (aPart->data()->docRef(PART_ATTR_DOC_REF)->value() == aPManager->currentDocument()) {
+      if (aPart->data()->docRef(PartSetPlugin_Part::DOC_REF())->value() == aPManager->currentDocument()) {
         // do remove
-        aPart->data()->docRef(PART_ATTR_DOC_REF)->value()->close();
+        aPart->data()->docRef(PartSetPlugin_Part::DOC_REF())->value()->close();
         aRoot->removeFeature(aPart);
       }
     }