1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-19 13:40:49 +03:00

0031303: Different calculation of offset direction in Adaptor2d_OffsetCurve and Geom2d_OffsetCurve

Calculations in Adaptor2d_OffsetCurve are unified with similar calculations in Geom2d_OffsetCurve using   methods extracted from Geom2dEvaluator_OffsetCurve to Geom2dEvaluator.cxx

BRepFill_OffsetWire.cxx, Geom2dGcc_Circ2d2TanRadGeo.cxx, Geom2dGcc_Circ2dTanOnRadGeo.cxx, MAT2d_Circuit.cxx are modified to satisfy changing offset direction.
This commit is contained in:
ifv
2020-02-25 11:27:28 +03:00
committed by bugmaster
parent d6e18114eb
commit 68ad329c9d
12 changed files with 395 additions and 318 deletions

View File

@@ -268,12 +268,12 @@ Standard_Boolean MAT2d_Circuit::IsSharpCorner(const Handle(Geom2d_Geometry)& Geo
D = Min(P1.Distance(P),P2.Distance(P));
D /= 10;
if (Direction > 0.) D = -D;
if (Direction < 0.) D = -D;
Handle(Geom2dAdaptor_HCurve) HC1 = new Geom2dAdaptor_HCurve(C1);
Handle(Geom2dAdaptor_HCurve) HC2 = new Geom2dAdaptor_HCurve(C2);
Adaptor2d_OffsetCurve OC1(HC1,D,MilC1,C1->LastParameter());
Adaptor2d_OffsetCurve OC2(HC2,D,C2->FirstParameter(),MilC2);
Adaptor2d_OffsetCurve OC1(HC1, D, MilC1, C1->LastParameter());
Adaptor2d_OffsetCurve OC2(HC2, D, C2->FirstParameter(), MilC2);
Geom2dInt_GInter Intersect;
Intersect.Perform(OC1,OC2,Tol,Tol);