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

0033247: Modeling Algorithm - BOP report small edges problem and produce empty result

Build shifted pcurve for ellipse and circle cases.
This commit is contained in:
akaftasev
2022-12-09 14:01:08 +03:00
committed by Vadim Glukhikh
parent a638dd6224
commit 686926c0a9
4 changed files with 107 additions and 55 deletions

View File

@@ -990,15 +990,19 @@ void IntTools_FaceFace::MakeCurve(const Standard_Integer Index,
if (typl == IntPatch_Circle || typl == IntPatch_Ellipse) {////
if(myApprox1) {
Handle (Geom2d_Curve) C2d;
GeomInt_IntSS::BuildPCurves(fprm, lprm, Tolpc,
myHS1->Surface(), newc, C2d);
GeomInt_IntSS::BuildPCurves(fprm, lprm,
myHS1->FirstUParameter(), myHS1->LastUParameter(),
myHS1->FirstVParameter(), myHS1->LastVParameter(),
Tolpc, myHS1->Surface(), newc, C2d);
aCurve.SetFirstCurve2d(C2d);
}
if(myApprox2) {
Handle (Geom2d_Curve) C2d;
GeomInt_IntSS::BuildPCurves(fprm,lprm,Tolpc,
myHS2->Surface(),newc,C2d);
GeomInt_IntSS::BuildPCurves(fprm, lprm,
myHS2->FirstUParameter(), myHS2->LastUParameter(),
myHS2->FirstVParameter(), myHS2->LastVParameter(),
Tolpc, myHS2->Surface(), newc, C2d);
aCurve.SetSecondCurve2d(C2d);
}
}
@@ -1059,15 +1063,19 @@ void IntTools_FaceFace::MakeCurve(const Standard_Integer Index,
if(myApprox1) {
Handle (Geom2d_Curve) C2d;
GeomInt_IntSS::BuildPCurves(fprm, lprm, Tolpc,
myHS1->Surface(), newc, C2d);
GeomInt_IntSS::BuildPCurves(fprm, lprm,
myHS1->FirstUParameter(), myHS1->LastUParameter(),
myHS1->FirstVParameter(), myHS1->LastVParameter(),
Tolpc, myHS1->Surface(), newc, C2d);
aCurve.SetFirstCurve2d(C2d);
}
if(myApprox2) {
Handle (Geom2d_Curve) C2d;
GeomInt_IntSS::BuildPCurves(fprm, lprm, Tolpc,
myHS2->Surface(), newc, C2d);
GeomInt_IntSS::BuildPCurves(fprm, lprm,
myHS2->FirstUParameter(), myHS2->LastUParameter(),
myHS2->FirstVParameter(), myHS2->LastVParameter(),
Tolpc, myHS2->Surface(), newc, C2d);
aCurve.SetSecondCurve2d(C2d);
}
}// end of if (typl == IntPatch_Circle || typl == IntPatch_Ellipse)