From a7eda764c464e40005c8a3590a94475ace374c9d Mon Sep 17 00:00:00 2001 From: mpv Date: Thu, 9 Jul 2015 13:22:07 +0300 Subject: [PATCH] Fix for issue #741: boolean may produce compounds of solids --- src/FeaturesPlugin/FeaturesPlugin_CompositeBoolean.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) 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()); -- 2.39.2