]> OCCT Git - occt-copy.git/commit
0028775: Code duplication removal across the BOPAlgo_PaveFiller algorithm
authoremv <emv@opencascade.com>
Sat, 29 Apr 2017 22:09:36 +0000 (01:09 +0300)
committeremv <emv@opencascade.com>
Fri, 7 Jul 2017 07:03:47 +0000 (10:03 +0300)
commit15bb6522d54545171f53d734c2237d844d21148f
tree711564697d8b16b8c7766f6986b4cae95ae388e5
parent789ed6cd481e5d4d96f5d7f2110c97f64870037b
0028775: Code duplication removal across the BOPAlgo_PaveFiller algorithm

The methods PerformVerticesEE() and PerformVerticesEF() of the class BOPAlgo_PaveFiller have been replaced with the new PerformNewVertices() method.

While splitting the Pave Blocks with extra paves, check that the new Pave Blocks have the valid intersection range. If the new Pave Block does not have such range do not create it and unify its vertices making SD vertex.

Re-computation of the Shrunk Data for the modified Pave Blocks. The new method BOPDS_DS::IsValidShrunkData(const Handle(BOPDS_PaveBlock)& thePB) has been implemented to check that the Shrunk Data of the Pave Block is still valid. It may become invalid in case the tolerance values of the vertices of the Pave Block have been modified.

The test case bugs/modalg_6/bug27448_2 has been marked as BAD, because it uses the invalid shapes as inputs for BOP.

Test cases for the issue 0028690.
22 files changed:
src/BOPAlgo/BOPAlgo_PaveFiller.cxx
src/BOPAlgo/BOPAlgo_PaveFiller.hxx
src/BOPAlgo/BOPAlgo_PaveFiller_1.cxx
src/BOPAlgo/BOPAlgo_PaveFiller_2.cxx
src/BOPAlgo/BOPAlgo_PaveFiller_3.cxx
src/BOPAlgo/BOPAlgo_PaveFiller_5.cxx
src/BOPAlgo/BOPAlgo_PaveFiller_6.cxx
src/BOPAlgo/BOPAlgo_PaveFiller_9.cxx
src/BOPAlgo/BOPAlgo_Tools.cxx
src/BOPAlgo/BOPAlgo_Tools.hxx
src/BOPCol/BOPCol_IndexedDataMapOfShapeReal.hxx [new file with mode: 0644]
src/BOPCol/FILES
src/BOPDS/BOPDS_DS.cxx
src/BOPDS/BOPDS_DS.hxx
tests/bugs/modalg_1/bug10232
tests/bugs/modalg_2/bug472_3
tests/bugs/modalg_6/bug27448_2
tests/bugs/modalg_6/bug28690 [new file with mode: 0644]
tests/bugs/modalg_6/bug28690_1 [new file with mode: 0644]
tests/bugs/modalg_6/bug28690_2 [new file with mode: 0644]
tests/bugs/modalg_6/bug28690_3 [new file with mode: 0644]
tests/bugs/modalg_6/bug28775 [new file with mode: 0644]