X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGEOMAlgo%2FGEOMAlgo_Gluer2_1.cxx;h=590bf2211f0bada8dc1df29403cf8efdc0cc67c7;hb=6fc8283dbbb497e617cb36deae082fdeae4e3844;hp=ebcb7c06456c0a5176a82268ca90085d2c953225;hpb=7d880c6a8262b6d670ed70ee2b9ec25c199a46d4;p=modules%2Fgeom.git diff --git a/src/GEOMAlgo/GEOMAlgo_Gluer2_1.cxx b/src/GEOMAlgo/GEOMAlgo_Gluer2_1.cxx index ebcb7c064..590bf2211 100644 --- a/src/GEOMAlgo/GEOMAlgo_Gluer2_1.cxx +++ b/src/GEOMAlgo/GEOMAlgo_Gluer2_1.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2019 CEA/DEN, EDF R&D, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -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());