0028259: Method MakeBlocksCnx is duplicated in two different places in BOPAlgo
authoremv <emv@opencascade.com>
Sat, 29 Apr 2017 22:09:36 +0000 (01:09 +0300)
committerbugmaster <bugmaster@opencascade.com>
Thu, 1 Jun 2017 07:20:25 +0000 (10:20 +0300)
commitedfa30deef13c8aa1f6ade25a99228140b74b8d8
treed25f4262ba1ec8fcd509d561456e80819ea6b5a0
parent884cafd8935201add6c3d10808148ee3fcb59995
0028259: Method MakeBlocksCnx is duplicated in two different places in BOPAlgo

The methods BOPAlgo_Tools::MakeBlocksCnx(), BOPAlgo_Tools::MakeBlocks() and static method MakeBlocksCnx in BOPAlgo_Builder_2.cxx have been replaced with the new template method BOPAlgo_Tools::MakeBlocks(). The blocks of connected elements are now stored into the list of list instead of data map.
All methods BOPAlgo_Tools::FillMap() have been replaced with the new template method BOPAlgo_Tools::FillMap().

Making the Pave Block with the smallest index of original edge to be the first in the Common Block (i.e. the representing Pave Block).

The following improvements have been made in Boolean Operations algorithm to avoid regressions:
- When updating the existing common block update its pave blocks in a way that the parameters of the paves should be valid for the original edge (bugs/modalg_5/bug24809);
- When trying to reduce the tolerance of the section edge check the tolerance of all Face/Face interferences that created this edge (boolean/volumemaker/C4,D2);
- Avoid producing the different Pave Blocks for the same section edge (boolean/volumemaker/D6);

Adjustment of the test cases.
22 files changed:
dox/dev_guides/upgrade/upgrade.md
src/BOPAlgo/BOPAlgo_Builder_2.cxx
src/BOPAlgo/BOPAlgo_PaveFiller_1.cxx
src/BOPAlgo/BOPAlgo_PaveFiller_10.cxx
src/BOPAlgo/BOPAlgo_PaveFiller_3.cxx
src/BOPAlgo/BOPAlgo_PaveFiller_6.cxx
src/BOPAlgo/BOPAlgo_PaveFiller_7.cxx
src/BOPAlgo/BOPAlgo_Tools.cxx
src/BOPAlgo/BOPAlgo_Tools.hxx
src/BOPDS/BOPDS_CommonBlock.cxx
src/BOPDS/BOPDS_CommonBlock.hxx
src/BOPDS/BOPDS_DS.cxx
src/BOPDS/BOPDS_DS.hxx
src/BOPDS/BOPDS_IndexedDataMapOfPaveBlockListOfInteger.hxx
src/BOPTools/BOPTools_AlgoTools.cxx
src/BRepOffset/BRepOffset_Inter3d.cxx
src/BRepOffset/BRepOffset_MakeOffset.cxx
src/BRepOffset/BRepOffset_MakeOffset_1.cxx
tests/bugs/modalg_5/bug25721
tests/bugs/modalg_6/bug26954_3
tests/bugs/modalg_6/bug27383_1
tests/offset/shape_type_i_c/XC1