Salome HOME
0023597: EDF 17891 - OCCT 7.3.0 - Problem with GetBlockNearPoint. A fix by JGV (edge...
authorjfa <jfa@opencascade.com>
Mon, 29 Oct 2018 09:31:05 +0000 (12:31 +0300)
committerjfa <jfa@opencascade.com>
Mon, 29 Oct 2018 09:31:05 +0000 (12:31 +0300)
src/GEOMAlgo/GEOMAlgo_Gluer2_1.cxx

index 8aaf3630bf0e906cb301d4b0024b95176ce5aeb6..156989a4e32c4f17ae9c7396b262126863d5e4e9 100644 (file)
@@ -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());