]> OCCT Git - occt-copy.git/commit
0028189: Result of Boolean operation is non-manifold wire
authoremv <emv@opencascade.com>
Wed, 28 Dec 2016 12:39:00 +0000 (15:39 +0300)
committeremv <emv@opencascade.com>
Wed, 28 Dec 2016 12:39:00 +0000 (15:39 +0300)
commit042532570d56ccda2d74d389bd0a4cc12844f7dd
tree8d09a43c6c179becb1a680dc217eaf89c6166ca9
parentac1cbd566dea563cf5530344ac99c4ce285c23fd
0028189: Result of Boolean operation is non-manifold wire

1. The result of Boolean operation on the arguments of collection type, containers WIRE/SHELL/COMPSOLID, is now also a collection.
The result of Boolean operation on arguments of non-collection types is now a compound containing the splits of arguments directly, without its enclosure into containers.
Thus, if there were no containers, such as WIRE/SHELL/COMPSOLID, in the input arguments there will be no such containers in the result of BOP.

2. The containers of type WIRE included into result should now also (as the SHELLs) have coherent orientation of its sub-shapes.
For that the new method has been implemented (BOPTools_AlgoTools::OrientEdgesOnWire(TopoDS_Shape&)) which reorients edges of the given shape for correct ordering.

3. The duplicating containers, i.e. containers with the contents completely included in other containers, are now avoided in the result of BOP.

4. Documentation has been updated.

5. New test cases for the issue.

6. Adjusting test cases to current behavior.
70 files changed:
dox/user_guides/boolean_operations/boolean_operations.md
samples/tcl/snowflake.tcl
src/BOPAlgo/BOPAlgo_BOP.cxx
src/BOPTools/BOPTools_AlgoTools.cdl
src/BOPTools/BOPTools_AlgoTools.cxx
tests/boolean/bfuse_2d/A2
tests/boolean/bfuse_2d/A3
tests/boolean/bfuse_2d/A4
tests/boolean/bfuse_2d/B1
tests/boolean/bfuse_2d/B2
tests/boolean/bfuse_2d/B3
tests/boolean/bfuse_2d/B9
tests/boolean/bopfuse_2d/A2
tests/boolean/bopfuse_2d/A3
tests/boolean/bopfuse_2d/A4
tests/boolean/bopfuse_2d/B1
tests/boolean/bopfuse_2d/B2
tests/boolean/bopfuse_2d/B3
tests/boolean/bopfuse_2d/B9
tests/boolean/bopfuse_complex/N2
tests/boolean/bopfuse_complex/N5
tests/boolean/bopfuse_complex/N6
tests/boolean/bopfuse_complex/O1
tests/boolean/bopfuse_complex/O4
tests/boolean/gdml_private/F8
tests/bugs/modalg_1/bug11565_1
tests/bugs/modalg_1/bug11565_2
tests/bugs/modalg_1/bug12507
tests/bugs/modalg_2/bug21460
tests/bugs/modalg_2/bug22356
tests/bugs/modalg_2/bug22790
tests/bugs/modalg_2/bug23100
tests/bugs/modalg_2/bug23470
tests/bugs/modalg_2/bug23676
tests/bugs/modalg_4/bug6538
tests/bugs/modalg_5/bug24092
tests/bugs/modalg_5/bug24187
tests/bugs/modalg_5/bug24746
tests/bugs/modalg_5/bug24811
tests/bugs/modalg_5/bug24825_cut
tests/bugs/modalg_5/bug24851
tests/bugs/modalg_5/bug25163
tests/bugs/modalg_5/bug25237
tests/bugs/modalg_5/bug25263
tests/bugs/modalg_5/bug25337_1
tests/bugs/modalg_5/bug25337_2
tests/bugs/modalg_5/bug25450_1
tests/bugs/modalg_5/bug25450_2
tests/bugs/modalg_5/bug25614_common
tests/bugs/modalg_5/bug25614_cut
tests/bugs/modalg_5/bug25614_cut21
tests/bugs/modalg_5/bug25625
tests/bugs/modalg_5/bug25721
tests/bugs/modalg_6/bug25937_2
tests/bugs/modalg_6/bug26224
tests/bugs/modalg_6/bug26565_4 [new file with mode: 0644]
tests/bugs/modalg_6/bug26565_5 [new file with mode: 0644]
tests/bugs/modalg_6/bug26565_6 [new file with mode: 0644]
tests/bugs/modalg_6/bug26565_7 [new file with mode: 0644]
tests/bugs/modalg_6/bug26565_8 [new file with mode: 0644]
tests/bugs/modalg_6/bug26582
tests/bugs/modalg_6/bug28189_1 [new file with mode: 0644]
tests/bugs/modalg_6/bug28189_2 [new file with mode: 0644]
tests/bugs/modalg_6/bug28189_3 [new file with mode: 0644]
tests/bugs/modalg_6/bug28189_4 [new file with mode: 0644]
tests/bugs/modalg_6/bug28189_5 [new file with mode: 0644]
tests/bugs/modalg_6/bug28189_7 [new file with mode: 0644]
tests/bugs/moddata_3/bug23738
tests/bugs/moddata_3/bug24108
tests/bugs/moddata_3/bug24108_2