0027270: Boolean operations: incorrect assembling of sub-shapes in container shapes...
authoremv <emv@opencascade.com>
Thu, 17 Mar 2016 09:04:59 +0000 (12:04 +0300)
committerbugmaster <bugmaster@opencascade.com>
Fri, 18 Mar 2016 13:24:16 +0000 (16:24 +0300)
commit1511c7e90f1ab04e3ee01d94fc146a04c07da160
tree12c23eb7bbf0b6d6c841cbb1c7aac6e2e7d14e62
parent447c7e54f01923b65f78268831e8fd78c26a703c
0027270: Boolean operations: incorrect assembling of sub-shapes in container shapes (wires, shells, compsolids)

The map to protect the result of Boolean operation from duplicating parts in containers has been removed (method void BOPAlgo_BOP::BuildShape()).
The results of Boolean operations on containers will be the following:
1. For the arguments of collection type (WIRE, SHELL, COMPSOLID) containing overlapping parts the overlapping parts
passed into result will be repeated for each container from the input shapes containing such parts.
2. The result of the operation Fuse for the arguments of collection type (WIRE, SHELL, COMPSOLID) will contain
the same number of containers as the arguments. The overlapping parts (EDGES/FACES/SOLIDS) will be shared among them.
For example, the result of Fuse operation between two wires will be two wires sharing coinciding edges if any.
3. The result of the operation Common for the arguments of collection type (WIRE, SHELL, COMPSOLID) will consist
of the containers containing the same overlapping parts. For example, the result of Common operation between two
fully/partially overlapping wires will be two wires containing the same edges.

Style correction.

Added test case bugs/modalg_1/bug13538
Modified boolean test cases according to new begavior
53 files changed:
dox/user_guides/boolean_operations/boolean_operations.md
dox/user_guides/boolean_operations/images/boolean_image139.png [new file with mode: 0644]
dox/user_guides/boolean_operations/images/boolean_image140.png [new file with mode: 0644]
dox/user_guides/boolean_operations/images/boolean_image141.png [new file with mode: 0644]
dox/user_guides/boolean_operations/images/boolean_image142.png [new file with mode: 0644]
dox/user_guides/boolean_operations/images/boolean_image143.png [new file with mode: 0644]
src/BOPAlgo/BOPAlgo_BOP.cxx
tests/boolean/bcommon_2d/F3
tests/boolean/bcommon_2d/F4
tests/boolean/bcommon_2d/F5
tests/boolean/bcommon_2d/N8
tests/boolean/bcommon_2d/N9
tests/boolean/bcommon_2d/O1
tests/boolean/bcommon_2d/O7
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/bopcommon_2d/F3
tests/boolean/bopcommon_2d/F4
tests/boolean/bopcommon_2d/F5
tests/boolean/bopcommon_2d/N8
tests/boolean/bopcommon_2d/N9
tests/boolean/bopcommon_2d/O1
tests/boolean/bopcommon_2d/O7
tests/boolean/bopcommon_complex/L3
tests/boolean/bopcommon_complex/L6
tests/boolean/bopcommon_complex/L7
tests/boolean/bopcommon_complex/L8
tests/boolean/bopcommon_complex/L9
tests/boolean/bopcommon_complex/M3
tests/boolean/bopcommon_complex/M4
tests/boolean/bopcommon_complex/M5
tests/boolean/bopcommon_complex/M6
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/O2
tests/boolean/bopfuse_complex/O3
tests/boolean/bopfuse_complex/O4
tests/bugs/modalg_1/bug13538
tests/bugs/modalg_6/bug27270 [new file with mode: 0644]