From: mpv Date: Mon, 27 Feb 2012 12:29:24 +0000 (+0000) Subject: Fix by PKV: for SALOME/TRIPOLI issue 51315 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=99a7dc8ab5428d2964ae21cc5e0ba8c9e71ffb8d;p=modules%2Fgeom.git Fix by PKV: for SALOME/TRIPOLI issue 51315 --- diff --git a/src/GEOMAlgo/GEOMAlgo_Tools3D.cxx b/src/GEOMAlgo/GEOMAlgo_Tools3D.cxx index a46a011df..09a4ae2c0 100755 --- a/src/GEOMAlgo/GEOMAlgo_Tools3D.cxx +++ b/src/GEOMAlgo/GEOMAlgo_Tools3D.cxx @@ -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(); diff --git a/src/NMTTools/NMTTools_PaveFiller_6.cxx b/src/NMTTools/NMTTools_PaveFiller_6.cxx index 1a9e9cd8a..94a29f29f 100644 --- a/src/NMTTools/NMTTools_PaveFiller_6.cxx +++ b/src/NMTTools/NMTTools_PaveFiller_6.cxx @@ -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); + } + } + } } //=======================================================================