const std::string aModFName = "Modified_Face";
theResultBody->loadAndOrientModifiedShapes(&theMakeShape, theBaseShape, GeomAPI_Shape::FACE,
- aModifyTag, aModName, theMapOfShapes);
+ aModifyTag, aModName, theMapOfShapes, false, false, true);
theResultBody->loadDeletedShapes(&theMakeShape, theBaseShape,
GeomAPI_Shape::FACE, aDeletedTag);
}
theResultBody->loadAndOrientModifiedShapes(&theMakeShape, *anIter,
aName == aModEName ? GeomAPI_Shape::EDGE : GeomAPI_Shape::FACE,
- aTag, aName, theMapOfShapes);
+ aTag, aName, theMapOfShapes, false, false, true);
theResultBody->loadDeletedShapes(&theMakeShape, *anIter, GeomAPI_Shape::FACE, aDeletedTag);
}
}
GeomShapePtr aShape = *anIt;
std::string aModEdgeName = aModName + "_Edge_" + std::to_string((long long)anIndex);
aResultBody->loadAndOrientModifiedShapes(theMakeShape.get(), aShape, GeomAPI_Shape::EDGE,
- aModTag, aModEdgeName, *aMapOfSubShapes.get(), false, true);
+ aModTag, aModEdgeName, *aMapOfSubShapes.get(), false, true, true);
std::string aModFaceName = aModName + "_Face_" + std::to_string((long long)anIndex++);
aResultBody->loadAndOrientModifiedShapes(theMakeShape.get(), aShape, GeomAPI_Shape::FACE,
- aModTag + 1, aModFaceName, *aMapOfSubShapes.get(), false, true);
+ aModTag + 1, aModFaceName, *aMapOfSubShapes.get(), false, true, true);
aResultBody->loadDeletedShapes(theMakeShape.get(), aShape, GeomAPI_Shape::FACE, aDelTag);
}
updateSubs(theNewShape);
}
-void Model_ResultCompSolid::loadAndOrientModifiedShapes (GeomAlgoAPI_MakeShape* theMS,
+void Model_ResultCompSolid::loadAndOrientModifiedShapes(GeomAlgoAPI_MakeShape* theMS,
std::shared_ptr<GeomAPI_Shape> theShapeIn, const int theKindOfShape, const int theTag,
const std::string& theName, GeomAPI_DataMapOfShapeShape& theSubShapes,
const bool theIsStoreSeparate,
- const bool theIsStoreAsGenerated)
+ const bool theIsStoreAsGenerated,
+ const bool theSplitInSubs)
{
- if (mySubs.size()) { // consists of subs
+ if (theSplitInSubs && mySubs.size()) { // consists of subs
std::vector<std::shared_ptr<ModelAPI_ResultBody> >::const_iterator aSubIter = mySubs.cbegin();
for(; aSubIter != mySubs.cend(); aSubIter++) {
(*aSubIter)->loadAndOrientModifiedShapes(
std::shared_ptr<GeomAPI_Shape> theShapeIn, const int theKindOfShape, const int theTag,
const std::string& theName, GeomAPI_DataMapOfShapeShape& theSubShapes,
const bool theIsStoreSeparate = false,
- const bool theIsStoreAsGenerated = false);
+ const bool theIsStoreAsGenerated = false,
+ const bool theSplitInSubs = false);
/// Returns the number of sub-elements
std::shared_ptr<GeomAPI_Shape> theShapeIn, const int theKindOfShape, const int theTag,
const std::string& theName, GeomAPI_DataMapOfShapeShape& theSubShapes,
const bool theIsStoreSeparate,
- const bool theIsStoreAsGenerated)
+ const bool theIsStoreAsGenerated,
+ const bool /*theSplitInSubs*/)
{
myBuilder->loadAndOrientModifiedShapes(
theMS, theShapeIn, theKindOfShape, theTag, theName, theSubShapes, theIsStoreSeparate,
std::shared_ptr<GeomAPI_Shape> theShapeIn, const int theKindOfShape, const int theTag,
const std::string& theName, GeomAPI_DataMapOfShapeShape& theSubShapes,
const bool theIsStoreSeparate = false,
- const bool theIsStoreAsGenerated = false);
+ const bool theIsStoreAsGenerated = false,
+ const bool theSplitInSubs = false);
/// load and orient generated shapes
MODELAPI_EXPORT virtual void loadAndOrientGeneratedShapes (GeomAlgoAPI_MakeShape* theMS,
std::shared_ptr<GeomAPI_Shape> theShapeIn, const int theKindOfShape,