0023597: EDF 17891 - OCCT 7.3.0 - Problem with GetBlockNearPoint. A fix by JGV (edge orientation in GlueFaces algorithm).

This commit is contained in:
jfa 2018-10-29 12:31:05 +03:00
parent 2d81fbabd2
commit e7194e67dc

View File

@ -157,22 +157,27 @@ 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());
}