1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-14 13:30:48 +03:00

0030760: Modeling Algorithms - Intersection fails in Occt 7.3.0

Use FORWARD orientation of edges and face when attaching pcurve from one edge to another.
Test case for the issue.
This commit is contained in:
emv
2019-06-03 11:36:18 +03:00
committed by bugmaster
parent 9324aa2d0d
commit 78005ffefe
2 changed files with 88 additions and 3 deletions

View File

@@ -58,9 +58,9 @@ static
//purpose :
//=======================================================================
Standard_Integer BOPTools_AlgoTools2D::AttachExistingPCurve
(const TopoDS_Edge& aE2, // old
const TopoDS_Edge& aE1, // new
const TopoDS_Face& aF,
(const TopoDS_Edge& theE2, // old
const TopoDS_Edge& theE1, // new
const TopoDS_Face& theF,
const Handle(IntTools_Context)& aCtx)
{
Standard_Boolean bIsToReverse, bIsClosed, bComp;
@@ -73,6 +73,13 @@ Standard_Integer BOPTools_AlgoTools2D::AttachExistingPCurve
//
iRet=0;
//
TopoDS_Face aF = theF;
aF.Orientation (TopAbs_FORWARD);
TopoDS_Edge aE1 = theE1;
aE1.Orientation (TopAbs_FORWARD);
TopoDS_Edge aE2 = theE2;
aE2.Orientation (TopAbs_FORWARD);
//
aC2Dold=BRep_Tool::CurveOnSurface(aE2, aF, aT21, aT22);
if (aC2Dold.IsNull()){
iRet=1;