From: mpv Date: Thu, 9 Jul 2015 10:22:07 +0000 (+0300) Subject: Fix for issue #741: boolean may produce compounds of solids X-Git-Tag: V_1.3.0~55 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=a7eda764c464e40005c8a3590a94475ace374c9d;p=modules%2Fshaper.git Fix for issue #741: boolean may produce compounds of solids --- diff --git a/src/FeaturesPlugin/FeaturesPlugin_CompositeBoolean.cpp b/src/FeaturesPlugin/FeaturesPlugin_CompositeBoolean.cpp index 4783e23b1..e15cf507a 100644 --- a/src/FeaturesPlugin/FeaturesPlugin_CompositeBoolean.cpp +++ b/src/FeaturesPlugin/FeaturesPlugin_CompositeBoolean.cpp @@ -202,12 +202,14 @@ void FeaturesPlugin_CompositeBoolean::LoadNamingDS(std::shared_ptrisEqual(theAlgo.shape())) { theResultBody->store(theAlgo.shape()); } else { - theResultBody->storeModified(theBaseShape, theAlgo.shape()); + const int aModTag = 1; + const int aDeleteTag = 2; + const int aSubsolidsTag=3; /// sub solids will be placed at labels 3, 4, etc. if result is compound of solids + + theResultBody->storeModified(theBaseShape, theAlgo.shape(), aSubsolidsTag); GeomAPI_DataMapOfShapeShape* aSubShapes = new GeomAPI_DataMapOfShapeShape(); - const int aModTag = 1; - const int aDeleteTag = 2; const std::string aModName = "Modified"; theResultBody->loadAndOrientModifiedShapes(theAlgo.makeShape().get(), theBaseShape, GeomAPI_Shape::FACE, aModTag, aModName, *theAlgo.mapOfShapes().get());