]> OCCT Git - occt-copy.git/commit
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)
committeremv <emv@opencascade.com>
Wed, 15 Feb 2017 19:55:13 +0000 (22:55 +0300)
commitd86f61c9326ea53ee94c346f8335520900db5b53
treeebd8f227d851396e431258c90b4e035e3c14f771
parentbc81fcdef3c71d27a7ec22134af725d8466db97b
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]