From: jfa Date: Mon, 29 Oct 2018 09:31:05 +0000 (+0300) Subject: 0023597: EDF 17891 - OCCT 7.3.0 - Problem with GetBlockNearPoint. A fix by JGV (edge... X-Git-Tag: V9_2_0a2~3 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=e7194e67dceaeb1404a5c019c629db6f7ac082f2;p=modules%2Fgeom.git 0023597: EDF 17891 - OCCT 7.3.0 - Problem with GetBlockNearPoint. A fix by JGV (edge orientation in GlueFaces algorithm). --- diff --git a/src/GEOMAlgo/GEOMAlgo_Gluer2_1.cxx b/src/GEOMAlgo/GEOMAlgo_Gluer2_1.cxx index 8aaf3630b..156989a4e 100644 --- a/src/GEOMAlgo/GEOMAlgo_Gluer2_1.cxx +++ b/src/GEOMAlgo/GEOMAlgo_Gluer2_1.cxx @@ -157,21 +157,26 @@ void GEOMAlgo_Gluer2::MakeFace(const TopoDS_Face& theF, // if (!BRep_Tool::Degenerated(aEx)) { aEx.Orientation(TopAbs_FORWARD); + TopoDS_Edge aE_forward = aE; + aE_forward.Orientation(TopAbs_FORWARD); if (bIsUPeriodic) { GEOMAlgo_AlgoTools::RefinePCurveForEdgeOnFace(aEx, aFF, aUMin, aUMax); } // //modified by NIZNHY-PKV Fri Feb 03 11:18:17 2012f - iRet=GEOMAlgo_AlgoTools::BuildPCurveForEdgeOnFace(aE, aEx, aFF, myContext); + iRet=GEOMAlgo_AlgoTools::BuildPCurveForEdgeOnFace(aE_forward, aEx, aFF, myContext); if (iRet) { continue; } //modified by NIZNHY-PKV Fri Feb 03 11:18:20 2012t // - bIsToReverse=GEOMAlgo_AlgoTools::IsSplitToReverse(aEx, aE, myContext); - if (bIsToReverse) { + bIsToReverse=GEOMAlgo_AlgoTools::IsSplitToReverse(aEx, aE_forward, myContext); + //bIsToReverse=BOPTools_AlgoTools::IsSplitToReverse(aEx, aE, myContext); + + aEx.Orientation(aE.Orientation()); + + if (bIsToReverse) aEx.Reverse(); - } } else { aEx.Orientation(aE.Orientation());