0028442: Incorrect result of 3D offset operation in mode Complete, Join type - Inters...
authoremv <emv@opencascade.com>
Thu, 9 Feb 2017 05:57:49 +0000 (08:57 +0300)
committerbugmaster <bugmaster@opencascade.com>
Thu, 2 Mar 2017 09:31:53 +0000 (12:31 +0300)
commit0da0275c1845a9f80dc8a154f57eaa024bc48402
tree0c1708f661a44d62113365ab42a21c3dd6bffff6
parentb66f3758694198628c482e5a6c76fa632e6146cb
0028442: Incorrect result of 3D offset operation in mode Complete, Join type - Intersection

1. For the support of the new configurations of the input shapes for the 3D offset algorithm
(shapes containing the faces with holes, which are growing during offset operation and
sometimes (depending on the offset value) even kill the faces themselves) the new function
*FindFacesInsideHoleWires* has been implemented. This new function looks for the splits of
the offset face located inside the new hole wire built from offset edges of the edges of the
hole wires of the original face. All found splits are simply removed.

2. Test cases for the issue.
98 files changed:
src/BRepOffset/BRepOffset_MakeOffset.cxx
src/BRepOffset/BRepOffset_MakeOffset_1.cxx
src/BRepOffset/BRepOffset_Tool.cxx
src/BRepOffset/BRepOffset_Tool.hxx
tests/offset/shape_type_i_c/YA1 [new file with mode: 0644]
tests/offset/shape_type_i_c/YA2 [new file with mode: 0644]
tests/offset/shape_type_i_c/YA3 [new file with mode: 0644]
tests/offset/shape_type_i_c/YA4 [new file with mode: 0644]
tests/offset/shape_type_i_c/YA5 [new file with mode: 0644]
tests/offset/shape_type_i_c/YA6 [new file with mode: 0644]
tests/offset/shape_type_i_c/YA7 [new file with mode: 0644]
tests/offset/shape_type_i_c/YA8 [new file with mode: 0644]
tests/offset/shape_type_i_c/YA9 [new file with mode: 0644]
tests/offset/shape_type_i_c/YB1 [new file with mode: 0644]
tests/offset/shape_type_i_c/YB2 [new file with mode: 0644]
tests/offset/shape_type_i_c/YB3 [new file with mode: 0644]
tests/offset/shape_type_i_c/YB4 [new file with mode: 0644]
tests/offset/shape_type_i_c/YB5 [new file with mode: 0644]
tests/offset/shape_type_i_c/YB6 [new file with mode: 0644]
tests/offset/shape_type_i_c/YB7 [new file with mode: 0644]
tests/offset/shape_type_i_c/YB8 [new file with mode: 0644]
tests/offset/shape_type_i_c/YB9 [new file with mode: 0644]
tests/offset/shape_type_i_c/YC1 [new file with mode: 0644]
tests/offset/shape_type_i_c/YC2 [new file with mode: 0644]
tests/offset/shape_type_i_c/YC3 [new file with mode: 0644]
tests/offset/shape_type_i_c/YC4 [new file with mode: 0644]
tests/offset/shape_type_i_c/YC5 [new file with mode: 0644]
tests/offset/shape_type_i_c/YC6 [new file with mode: 0644]
tests/offset/shape_type_i_c/YC7 [new file with mode: 0644]
tests/offset/shape_type_i_c/YC8 [new file with mode: 0644]
tests/offset/shape_type_i_c/YC9 [new file with mode: 0644]
tests/offset/shape_type_i_c/YD1 [new file with mode: 0644]
tests/offset/shape_type_i_c/YD2 [new file with mode: 0644]
tests/offset/shape_type_i_c/YD3 [new file with mode: 0644]
tests/offset/shape_type_i_c/YD4 [new file with mode: 0644]
tests/offset/shape_type_i_c/YD5 [new file with mode: 0644]
tests/offset/shape_type_i_c/YD6 [new file with mode: 0644]
tests/offset/shape_type_i_c/YD7 [new file with mode: 0644]
tests/offset/shape_type_i_c/YD8 [new file with mode: 0644]
tests/offset/shape_type_i_c/YD9 [new file with mode: 0644]
tests/offset/shape_type_i_c/YE1 [new file with mode: 0644]
tests/offset/shape_type_i_c/YE2 [new file with mode: 0644]
tests/offset/shape_type_i_c/YE3 [new file with mode: 0644]
tests/offset/shape_type_i_c/YE4 [new file with mode: 0644]
tests/offset/shape_type_i_c/YE5 [new file with mode: 0644]
tests/offset/shape_type_i_c/YE6 [new file with mode: 0644]
tests/offset/shape_type_i_c/YE7 [new file with mode: 0644]
tests/offset/shape_type_i_c/YE8 [new file with mode: 0644]
tests/offset/shape_type_i_c/YE9 [new file with mode: 0644]
tests/offset/shape_type_i_c/YF1 [new file with mode: 0644]
tests/offset/shape_type_i_c/YF2 [new file with mode: 0644]
tests/offset/shape_type_i_c/YF3 [new file with mode: 0644]
tests/offset/shape_type_i_c/YF4 [new file with mode: 0644]
tests/offset/shape_type_i_c/YF5 [new file with mode: 0644]
tests/offset/shape_type_i_c/YF6 [new file with mode: 0644]
tests/offset/shape_type_i_c/YF7 [new file with mode: 0644]
tests/offset/shape_type_i_c/YF8 [new file with mode: 0644]
tests/offset/shape_type_i_c/YF9 [new file with mode: 0644]
tests/offset/shape_type_i_c/YG1 [new file with mode: 0644]
tests/offset/shape_type_i_c/YG2 [new file with mode: 0644]
tests/offset/shape_type_i_c/YG3 [new file with mode: 0644]
tests/offset/shape_type_i_c/YG4 [new file with mode: 0644]
tests/offset/shape_type_i_c/YG5 [new file with mode: 0644]
tests/offset/shape_type_i_c/YG6 [new file with mode: 0644]
tests/offset/shape_type_i_c/YG7 [new file with mode: 0644]
tests/offset/shape_type_i_c/YG8 [new file with mode: 0644]
tests/offset/shape_type_i_c/YG9 [new file with mode: 0644]
tests/offset/shape_type_i_c/YH1 [new file with mode: 0644]
tests/offset/shape_type_i_c/YH2 [new file with mode: 0644]
tests/offset/shape_type_i_c/YH3 [new file with mode: 0644]
tests/offset/shape_type_i_c/YH4 [new file with mode: 0644]
tests/offset/shape_type_i_c/YH5 [new file with mode: 0644]
tests/offset/shape_type_i_c/YH6 [new file with mode: 0644]
tests/offset/shape_type_i_c/YH7 [new file with mode: 0644]
tests/offset/shape_type_i_c/YH8 [new file with mode: 0644]
tests/offset/shape_type_i_c/YH9 [new file with mode: 0644]
tests/offset/shape_type_i_c/YI1 [new file with mode: 0644]
tests/offset/shape_type_i_c/YI2 [new file with mode: 0644]
tests/offset/shape_type_i_c/YI3 [new file with mode: 0644]
tests/offset/shape_type_i_c/YI4 [new file with mode: 0644]
tests/offset/shape_type_i_c/YI5 [new file with mode: 0644]
tests/offset/shape_type_i_c/YI6 [new file with mode: 0644]
tests/offset/shape_type_i_c/YI7 [new file with mode: 0644]
tests/offset/shape_type_i_c/YI8 [new file with mode: 0644]
tests/offset/shape_type_i_c/YI9 [new file with mode: 0644]
tests/offset/shape_type_i_c/YJ1 [new file with mode: 0644]
tests/offset/shape_type_i_c/YJ2 [new file with mode: 0644]
tests/offset/shape_type_i_c/YJ3 [new file with mode: 0644]
tests/offset/shape_type_i_c/YJ4 [new file with mode: 0644]
tests/offset/shape_type_i_c/YJ5 [new file with mode: 0644]
tests/offset/shape_type_i_c/YJ6 [new file with mode: 0644]
tests/offset/shape_type_i_c/YJ7 [new file with mode: 0644]
tests/offset/shape_type_i_c/YJ8 [new file with mode: 0644]
tests/offset/shape_type_i_c/YJ9 [new file with mode: 0644]
tests/offset/shape_type_i_c/YK1 [new file with mode: 0644]
tests/offset/shape_type_i_c/YK2 [new file with mode: 0644]
tests/offset/shape_type_i_c/YK3 [new file with mode: 0644]
tests/offset/shape_type_i_c/YK4 [new file with mode: 0644]