]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
0022388: [CEA 977] Invalide shape after UnionFaces
authorskv <skv@opencascade.com>
Fri, 1 Nov 2013 12:15:32 +0000 (12:15 +0000)
committerskv <skv@opencascade.com>
Fri, 1 Nov 2013 12:15:32 +0000 (12:15 +0000)
src/BlockFix/BlockFix_UnionFaces.cxx

index c2d0459f85eff6b22503037be53a4ed63c2c7a07..29228627642ffac9b2aaf712f4179f0419bec8af 100644 (file)
@@ -302,7 +302,7 @@ TopoDS_Shape BlockFix_UnionFaces::Perform(const TopoDS_Shape& Shape)
       Standard_Integer i;
       for (i = 1; i <= edges.Length(); i++) {
         TopoDS_Edge edge = TopoDS::Edge(edges(i));
-        if (BRep_Tool::Degenerated(edge))
+        if (BRep_Tool::Degenerated(edge) || BRep_Tool::IsClosed(edge, aFace))
           continue;
 
         const TopTools_ListOfShape& aList = aMapEdgeFaces.FindFromKey(edge);
@@ -315,6 +315,11 @@ TopoDS_Shape BlockFix_UnionFaces::Perform(const TopoDS_Shape& Shape)
           if (aProcessed.Contains(anCheckedFace))
             continue;
 
+          if (BRep_Tool::IsClosed(edge, anCheckedFace)) {
+            // Skip seam edge.
+            continue;
+          }
+
           // Check if faces belong to same solids.
           if (!IsFacesOfSameSolids(aFace, anCheckedFace, aMapFaceSolids)) {
             continue;