]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
Fix by PKV: for SALOME/TRIPOLI issue 51315 TRIPOLI_3_2_BR
authormpv <mpv@opencascade.com>
Mon, 27 Feb 2012 12:29:24 +0000 (12:29 +0000)
committermpv <mpv@opencascade.com>
Mon, 27 Feb 2012 12:29:24 +0000 (12:29 +0000)
src/GEOMAlgo/GEOMAlgo_Tools3D.cxx
src/NMTTools/NMTTools_PaveFiller_6.cxx

index a46a011dff4fa94c673905294e3b6bdbbea67f3e..09a4ae2c037d203c075ed6a1ca87b9b44492e67f 100755 (executable)
@@ -144,6 +144,9 @@ Standard_Boolean GEOMAlgo_Tools3D::IsInternalFace(const TopoDS_Face& theFace,
     if (!theMEF.Contains(aE)) {
       continue;
     }
+    if (BRep_Tool::Degenerated(aE)){
+      continue;
+    }
     //
     const TopTools_ListOfShape& aLF=theMEF.FindFromKey(aE);
     aNbF=aLF.Extent();
index 1a9e9cd8a8173f3af01c5239b1ef8bd71d7a3ec6..94a29f29f250831064bab00affb89be5b4a9bfa4 100644 (file)
@@ -1064,8 +1064,8 @@ Standard_Boolean NMTTools_PaveFiller::FindPave(const gp_Pnt& aP,
 // function: PrepareSetForFace
 // purpose:
 //=======================================================================
-void NMTTools_PaveFiller::PrepareSetForFace(const Standard_Integer ,//nF1,
-                                            const Standard_Integer ,//nF2,
+void NMTTools_PaveFiller::PrepareSetForFace(const Standard_Integer nF1,
+                                            const Standard_Integer nF2,
                                             const BOPTools_ListOfPaveBlock& aLPBC,
                                             BOPTools_PaveSet& aPSF)
 {
@@ -1089,6 +1089,28 @@ void NMTTools_PaveFiller::PrepareSetForFace(const Standard_Integer ,//nF1,
       aPSF.Append(aPave2);
     }
   }
+
+  TColStd_MapIteratorOfMapOfInteger aItMI;
+  //
+  const NMTTools_FaceInfo& aFI1=myFaceInfo.Find(nF1);
+  const NMTTools_FaceInfo& aFI2=myFaceInfo.Find(nF2);
+  //
+  const TColStd_MapOfInteger& aMVIn1=aFI1.VerticesIn();
+  const TColStd_MapOfInteger& aMVIn2=aFI2.VerticesIn();
+  //
+  aItMI.Initialize(aMVIn1);
+  for (; aItMI.More(); aItMI.Next()) {
+    nV1=aItMI.Key();
+    if (aMVIn2.Contains(nV1)) {
+      if (!aMap.Contains(nV1)) {
+       BOPTools_Pave aPave1;
+       //
+       aMap.Add(nV1);
+       aPave1.SetIndex(nV1);
+       aPSF.Append(aPave1);
+      }
+    }
+  }
 }
 
 //=======================================================================