X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FModelAPI%2FModelAPI_CompositeFeature.cpp;h=09b5919f371c8b1ffee31f8fc06b62b5739bdd16;hb=0f22bfc2773dcbb793c2c9c6562d25e114250617;hp=ba5d1cd5ccd1d7ab26eb7c3e128aadea7e9bd7c3;hpb=2928584ae0e88591f8962bde6986f03283c6b819;p=modules%2Fshaper.git diff --git a/src/ModelAPI/ModelAPI_CompositeFeature.cpp b/src/ModelAPI/ModelAPI_CompositeFeature.cpp index ba5d1cd5c..09b5919f3 100644 --- a/src/ModelAPI/ModelAPI_CompositeFeature.cpp +++ b/src/ModelAPI/ModelAPI_CompositeFeature.cpp @@ -1,6 +1,6 @@ // Copyright (C) 2014-20xx CEA/DEN, EDF R&D -// File: ModelAPI_CompositeFeature.h +// File: ModelAPI_CompositeFeature.cpp // Created: 20 Oct 2014 // Author: Mikhail PONIKAROV @@ -11,3 +11,23 @@ ModelAPI_CompositeFeature::~ModelAPI_CompositeFeature() } +void ModelAPI_CompositeFeature::exchangeIDs( + std::shared_ptr theFeature1, std::shared_ptr theFeature2) +{ + // by default nothing is in the implementation +} + +void ModelAPI_CompositeFeature::erase() +{ + // erase all sub-features + if (data()->isValid()) { + for(int a = numberOfSubs(); a > 0; a--) { + FeaturePtr aFeature = subFeature(a - 1); + if (aFeature.get()) { + // subs are referenced from sketch, but must be removed for sure, so not checkings + aFeature->document()->removeFeature(aFeature); + } + } + } + ModelAPI_Feature::erase(); +}