From 5b33968b4c771ed12bea36aa6f4ea5bd01fd90a7 Mon Sep 17 00:00:00 2001 From: eap Date: Fri, 15 Jun 2012 10:31:26 +0000 Subject: [PATCH] 0020014: EDF 833 GEOM : Regression from 3.2.9 with GetInPlace note 0013000: The script fails in V6_5_BR during MakePartition operation. fix by PKV --- src/GEOMAlgo/GEOMAlgo_Builder_2.cxx | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/GEOMAlgo/GEOMAlgo_Builder_2.cxx b/src/GEOMAlgo/GEOMAlgo_Builder_2.cxx index 888ee3ec9..09809f8cd 100755 --- a/src/GEOMAlgo/GEOMAlgo_Builder_2.cxx +++ b/src/GEOMAlgo/GEOMAlgo_Builder_2.cxx @@ -937,7 +937,6 @@ void UpdateCandidates(const Standard_Integer theNF, } } -//modified by NIZNHY-PKV Thu Feb 16 12:25:16 2012f //======================================================================= //function : IsClosed //purpose : @@ -949,14 +948,23 @@ Standard_Boolean IsClosed(const TopoDS_Edge& aE, // bRet=BRep_Tool::IsClosed(aE, aF); if (bRet) { - TopTools_MapOfShape aM; + Standard_Integer iCnt; + TopoDS_Shape aE1; + // + bRet=!bRet; + iCnt=0; TopExp_Explorer aExp(aF, TopAbs_EDGE); for (; aExp.More(); aExp.Next()) { const TopoDS_Shape& aEx=aExp.Current(); // - if (aM.Add(aEx)) { - bRet=aEx.IsSame(aE); - if (bRet) { + if (aEx.IsSame(aE)) { + ++iCnt; + if (iCnt==1) { + aE1=aEx; + } + else if (iCnt==2){ + aE1.Reverse(); + bRet=(aE1==aEx); break; } } @@ -964,7 +972,6 @@ Standard_Boolean IsClosed(const TopoDS_Edge& aE, } return bRet; } -//modified by NIZNHY-PKV Thu Feb 16 12:25:25 2012t /* { -- 2.39.2