0028211: Modeling Algorithms - Boolean fuse operation produces incorrect result
authormsv <msv@opencascade.com>
Fri, 29 Dec 2017 14:44:42 +0000 (17:44 +0300)
committerapn <apn@opencascade.com>
Fri, 12 Jan 2018 11:54:59 +0000 (14:54 +0300)
commit2651bb324e0e9e38038a5db100561ef2d1719b03
treeeec9b70b7fcf069c3c4ced8ae2b194e39683bc05
parent67b3d2a8ad814ac30fb814fbf0a7e401988f21e9
0028211: Modeling Algorithms - Boolean fuse operation produces incorrect result

Correct procedure of initialization of BRepTopAdaptor_FClass2d and IntTools_FClass2d classifiers so as to produce more tight polygon in the case of self-intersections on very thin faces.

The idea is concluded in checking the condition:
defl < 2 * S / P, where S - is the surface area computed on produced polygon, P - its perimeter, defl - deflection computed on it.
If the condition is not true the polygon is discretized again using QuasiUniformDeflection tool.
src/BRepTopAdaptor/BRepTopAdaptor_FClass2d.cxx
src/IntTools/IntTools_FClass2d.cxx
tests/bugs/modalg_7/bug28211_1 [new file with mode: 0644]
tests/bugs/modalg_7/bug28211_2 [new file with mode: 0644]
tests/de/step_5/A1