X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FFeaturesPlugin%2FFeaturesPlugin_BooleanFill.cpp;h=7d8d3f471603b87be7ad13ff4f921408f43bd2ba;hb=ea593bc59e7e9461f6c4e2afd3f24d621edb1011;hp=94630430f3a50a4ad73daea8aabe68b0958d63ec;hpb=c11cb06f94225ee1c39ba0ae1bd28d7c9351e2ff;p=modules%2Fshaper.git diff --git a/src/FeaturesPlugin/FeaturesPlugin_BooleanFill.cpp b/src/FeaturesPlugin/FeaturesPlugin_BooleanFill.cpp index 94630430f..7d8d3f471 100644 --- a/src/FeaturesPlugin/FeaturesPlugin_BooleanFill.cpp +++ b/src/FeaturesPlugin/FeaturesPlugin_BooleanFill.cpp @@ -48,11 +48,11 @@ FeaturesPlugin_BooleanFill::FeaturesPlugin_BooleanFill() { } -//================================================================================================== +//================================================================================================= void FeaturesPlugin_BooleanFill::initAttributes() { FeaturesPlugin_Boolean::initAttributes(); - initVersion(THE_SPLIT_VERSION_1); + initVersion(THE_SPLIT_VERSION_1, selectionList(OBJECT_LIST_ID()), selectionList(TOOL_LIST_ID())); } //================================================================================================= @@ -120,33 +120,8 @@ void FeaturesPlugin_BooleanFill::execute() } } - GeomAPI_ShapeIterator aShapeIt(aResultCompound); - if (aShapeIt.more()) { - std::shared_ptr aResultBody = - document()->createBody(data(), aResultIndex); - - ListOfShape anObjectList = anObjects.Objects(); - ListOfShape aToolsList = aTools.Objects(); - FeaturesPlugin_Tools::loadModifiedShapes(aResultBody, - anObjectList, - aToolsList, - aMakeShapeList, - aResultCompound); - setResult(aResultBody, aResultIndex++); - - // merge algorithms - FeaturesPlugin_Tools::ResultBaseAlgo aRBA; - aRBA.resultBody = aResultBody; - aRBA.baseShape = anObjectList.front(); - for (std::vector::iterator - aRBAIt = aResultBaseAlgoList.begin(); - aRBAIt != aResultBaseAlgoList.end(); ++aRBAIt) { - aMakeShapeList->appendAlgo(aRBAIt->makeShape); - } - aRBA.makeShape = aMakeShapeList; - aResultBaseAlgoList.clear(); - aResultBaseAlgoList.push_back(aRBA); - } + storeResult(anObjects.Objects(), aTools.Objects(), aResultCompound, aResultIndex, + aMakeShapeList, aResultBaseAlgoList); // Store deleted shapes after all results has been proceeded. This is to avoid issue when in one // result shape has been deleted, but in another it was modified or stayed.