0030878: Modeling Algorithms - BRepLib_MakeFace produces face with abnormal surface
authoremv <emv@opencascade.com>
Thu, 26 Sep 2019 11:50:10 +0000 (14:50 +0300)
committerapn <apn@opencascade.com>
Thu, 24 Oct 2019 14:47:28 +0000 (17:47 +0300)
commit5646c90e876892c54fd973e261dbd630b433956c
treebe82fa5c20ea56b21a68a55ce28678356ac599b8
parent97e0059b05fe5b476a6a0e353eacf286c58e9dab
0030878: Modeling Algorithms - BRepLib_MakeFace produces face with abnormal surface

When collecting the points to build plane use the points on the curve instead of poles (in case of BSpline and Bezier curves).

Side effect changes:
Changes in Geom2dHatch_Elements are to increase the chance of correct 2d classification (by the means of Geom2dHatch_Classifier) by taking more than just one point on the edge to construct the classification ray and by checking if this ray is not tangent to the edge itself.
src/BRepLib/BRepLib_FindSurface.cxx
src/Geom2dHatch/Geom2dHatch_Elements.cxx
src/Geom2dHatch/Geom2dHatch_Elements.hxx
tests/mkface/mkplane/bug30878_1 [new file with mode: 0644]
tests/mkface/mkplane/bug30878_2 [new file with mode: 0644]
tests/offset/wire_closed_outside_0_005/D1
tests/offset/wire_unclosed_outside_0_025/B4