]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Skipping compsolids in the history request due to improved behavior of BOPs in the...
authormpv <mpv@opencascade.com>
Wed, 26 Feb 2020 11:29:14 +0000 (14:29 +0300)
committermpv <mpv@opencascade.com>
Wed, 26 Feb 2020 11:29:27 +0000 (14:29 +0300)
src/Model/Model_BodyBuilder.cpp
src/Model/Model_ResultBody.cpp

index 2c5c5c38187c29e3b3d63b96730e679d3294dd82..fd85d452a0a894c34f87483d931c78823968ce60 100644 (file)
@@ -365,7 +365,8 @@ void Model_BodyBuilder::storeModified(const std::list<GeomShapePtr>& theOldShape
   std::list<GeomShapePtr>::const_iterator anOldIter = theOldShapes.cbegin();
   for(; anOldIter != theOldShapes.cend(); anOldIter++) {
     // compounds may cause crash if call "modified"
-    bool aStore = (*anOldIter)->isCompound() || (*anOldIter)->isShell() || (*anOldIter)->isWire();
+    bool aStore = (*anOldIter)->isCompound() || (*anOldIter)->isShell() || (*anOldIter)->isWire() ||
+               (*anOldIter)->isCompSolid();
     if (!aStore) {
       ListOfShape aNews; // check this old really modifies theNewShape
       theMakeShape->modified(*anOldIter, aNews);
index 4d19917385d6b25111e39640d112c97475bee7fe..62b47c7cbddcf468710296cbe5fbe00c5594bf87 100644 (file)
@@ -408,7 +408,7 @@ void Model_ResultBody::computeOldForSub(const GeomShapePtr& theSub,
     for (TopTools_MapOfShape::Iterator anOldIter(anOldSubs); anOldIter.More(); anOldIter.Next()) {
       TopoDS_Shape anOldShape = anOldIter.Value();
       if (anOldShape.ShapeType() == TopAbs_COMPOUND || anOldShape.ShapeType() == TopAbs_SHELL ||
-          anOldShape.ShapeType() == TopAbs_WIRE)
+          anOldShape.ShapeType() == TopAbs_WIRE || anOldShape.ShapeType() == TopAbs_COMPSOLID)
         continue; // container old-shapes are not supported by the history, may cause crash
       GeomShapePtr anOldSub(new GeomAPI_Shape);
       anOldSub->setImpl<TopoDS_Shape>(new TopoDS_Shape(anOldShape));