occt: master 81a55a69

Author Committer Branch Timestamp Parent
emv bugmaster master 2017-11-17 13:27:36 master 1155d05a
Changeset 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*.
mod - dox/dev_guides/upgrade/upgrade.md Diff File
mod - src/BOPAlgo/BOPAlgo_BOP.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_BOP.hxx Diff File
mod - src/BOPAlgo/BOPAlgo_Builder.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_Builder.hxx Diff File
mod - src/BOPAlgo/BOPAlgo_Builder_1.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_Builder_2.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_Builder_3.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_Options.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_Options.hxx Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller_7.cxx Diff File
mod - src/BOPDS/BOPDS_CommonBlock.cxx Diff File
mod - src/BOPDS/BOPDS_CommonBlock.hxx Diff File
mod - src/BRepAlgoAPI/BRepAlgoAPI_Algo.hxx Diff File
mod - src/BRepAlgoAPI/BRepAlgoAPI_BuilderAlgo.cxx Diff File
mod - src/BRepAlgoAPI/BRepAlgoAPI_BuilderAlgo.hxx Diff File
mod - src/BRepFeat/BRepFeat_Builder.cxx Diff File
mod - src/BRepOffset/BRepOffset_MakeOffset_1.cxx Diff File
mod - tests/blend/complex/G9 Diff File
rm - tests/blend/complex/H2 Diff File
mod - tests/blend/simple/Q4 Diff File
mod - tests/blend/simple/Z1 Diff File
mod - tests/bugs/modalg_7/bug24632_1 Diff File
mod - tests/bugs/modalg_7/bug24632_2 Diff File
mod - tests/bugs/modalg_7/bug27711 Diff File
add - tests/bugs/modalg_7/bug29333_1 Diff File
add - tests/bugs/modalg_7/bug29333_2 Diff File
mod - tests/caf/named_shape/F8 Diff File
mod - tests/caf/named_shape/F9 Diff File
mod - tests/perf/modalg/bug29237_1 Diff File
mod - tests/perf/modalg/bug29237_3 Diff File