]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Fix for the #21 note from issue 3134:
authormpv <mikhail.ponikarov@opencascade.com>
Tue, 31 Mar 2020 06:40:50 +0000 (09:40 +0300)
committermpv <mikhail.ponikarov@opencascade.com>
Tue, 31 Mar 2020 06:40:50 +0000 (09:40 +0300)
- Import the flight_solid.brep from the SAMPLES of Salome.
- In SMESH, create a mesh with CADSurf
- In SHAPER, create a group of one face
- In SMESH, create the corresponding group on geometry
- In SHAPER, create another goup on another face
=> In SMESH, the mesh is notified that the shape has changed. I have to compute the mesh again to create a new group.

src/GeomAPI/GeomAPI_Shape.cpp

index 6d5649a75cf3b9bfc367e3e982634ee3ad82b8cd..9482a1bcb6666e7fa3343bfc83434feadfdc7fbc 100644 (file)
@@ -645,6 +645,11 @@ std::string GeomAPI_Shape::getShapeStream(const bool theWithTriangulation) const
   if (!theWithTriangulation) { // make a copy of shape without triangulation
     BRepBuilderAPI_Copy aCopy(aShape, Standard_False, Standard_False);
     const TopoDS_Shape& aCopyShape = aCopy.Shape();
+    // make all faces unchecked to make the stream of shapes the same
+    TopExp_Explorer aFaceExp(aCopyShape, TopAbs_FACE);
+    for(; aFaceExp.More(); aFaceExp.Next()) {
+      aFaceExp.Current().TShape()->Checked(Standard_False);
+    }
     BRepTools::Write(aCopyShape, aStream);
   } else {
     BRepTools::Write(aShape, aStream);