0029333: Boolean Operations - Prevent modification of the input shapes in case their...
authoremv <emv@opencascade.com>
Fri, 17 Nov 2017 13:27:36 +0000 (16:27 +0300)
committerbugmaster <bugmaster@opencascade.com>
Thu, 30 Nov 2017 09:11:20 +0000 (12:11 +0300)
commit81a55a6996dd7db9210fa3cb1518825d1f87148b
tree583712842f775d4697fceff8c9e8cb365b0b8f95
parent1155d05a06702191afb2039d6d0c8d6ee197da37
0029333: Boolean Operations - Prevent modification of the input shapes in case their sub-shapes have not been modified

Prevent modification of the input shapes in destructive mode in case their sub-shapes have not been modified:
1. Prevent edge splitting for the pave blocks with old vertices if it is possible to use the existing edge (*BOPAlgo_PaveFiller::MakeSplitEdges*);
2. Prevent creation of the new containers (WIRES/SHELLS/COMPSOLIDS) if non of its parts have been modified (*BOPAlgo_Builder::FillImagesContainer*);
3. Prevent creation of the new face if non of its wires have been modified (*BOPAlgo_Builder::FillImagesFaces*);
4. If possible, use the original face to be the representative for the group of SD faces (*BOPAlgo_Builder::FillSameDomainFaces*).

Cosmetic changes:
1. Documentation of the *BOPAlgo_Builder* class.
2. Making simple methods of the *BOPAlgo_Builder* class inline.
3. Getting rid of the *BOPAlgo_Builder::mySplits* field as it is excessive. *BOPAlgo_Builder::myImages* can be used instead.
3. Moving the Check Inverted option from *BOPAlgo_Options* to *BOPAlgo_Builder*.

Test cases for the issue.
Adjustment of the test case to their current behavior.
Test case *blend/complex/H2* has been deleted as duplicate of the test case *blend/simple/Z1*.
31 files changed:
dox/dev_guides/upgrade/upgrade.md
src/BOPAlgo/BOPAlgo_BOP.cxx
src/BOPAlgo/BOPAlgo_BOP.hxx
src/BOPAlgo/BOPAlgo_Builder.cxx
src/BOPAlgo/BOPAlgo_Builder.hxx
src/BOPAlgo/BOPAlgo_Builder_1.cxx
src/BOPAlgo/BOPAlgo_Builder_2.cxx
src/BOPAlgo/BOPAlgo_Builder_3.cxx
src/BOPAlgo/BOPAlgo_Options.cxx
src/BOPAlgo/BOPAlgo_Options.hxx
src/BOPAlgo/BOPAlgo_PaveFiller_7.cxx
src/BOPDS/BOPDS_CommonBlock.cxx
src/BOPDS/BOPDS_CommonBlock.hxx
src/BRepAlgoAPI/BRepAlgoAPI_Algo.hxx
src/BRepAlgoAPI/BRepAlgoAPI_BuilderAlgo.cxx
src/BRepAlgoAPI/BRepAlgoAPI_BuilderAlgo.hxx
src/BRepFeat/BRepFeat_Builder.cxx
src/BRepOffset/BRepOffset_MakeOffset_1.cxx
tests/blend/complex/G9
tests/blend/complex/H2 [deleted file]
tests/blend/simple/Q4
tests/blend/simple/Z1
tests/bugs/modalg_7/bug24632_1
tests/bugs/modalg_7/bug24632_2
tests/bugs/modalg_7/bug27711
tests/bugs/modalg_7/bug29333_1 [new file with mode: 0644]
tests/bugs/modalg_7/bug29333_2 [new file with mode: 0644]
tests/caf/named_shape/F8
tests/caf/named_shape/F9
tests/perf/modalg/bug29237_1
tests/perf/modalg/bug29237_3