occt: master 25dfc507

Author Committer Branch Timestamp Parent
emv apn master 2017-01-09 06:50:03 master f542b7bb
Changeset 0028284: Avoid classification of sub-shapes of arguments of BOPs relatively solids during Intersection phase

1. The methods PerformVZ, PerformEZ, PerformFZ and PerformZZ have been transferred from BOPAlgo_PaveFiller to BOPAlgo_CheckerSI class
to perform intersection of sub-shapes with solids only in self-intersection mode.

2. The checks for solids built from the same (shared) faces have been added into methods building the result of Boolean operations -
BOPAlgo_BOP::BuildRC() and BOPAlgo_BOP::BuildSolid().

3. Since the NonDestructive mode is now natively supported by the BOPAlgo_PaveFiller the methods providing the support of this mode by CheckerSI
(BOPAlgo_CheckerSI::PrepareCopy() and BOPAlgo_CheckerSI::PostTreatCopy()) are not needed and have been removed.

4. The pairs of sub-shapes with interfering bounding boxes are now sorted before real intersection to guarantee the constant order of
intersection of sub-shapes and produce more stable result. The class BOPDS_PassKey has been replaced with simpler class BOPDS_Pair.

5. The class BOPDS_SubIterator has been refactored.

6. Test cases for the issue.

7. Adjustment of the test case boolean volumemaker D2.
mod - dox/dev_guides/upgrade/upgrade.md Diff File
mod - src/BOPAlgo/BOPAlgo_ArgumentAnalyzer.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_BOP.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_CheckerSI.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_CheckerSI.hxx Diff File
add - src/BOPAlgo/BOPAlgo_CheckerSI_1.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller.hxx Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller_1.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller_10.cxx Diff File
rm - src/BOPAlgo/BOPAlgo_PaveFiller_11.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller_2.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller_3.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller_4.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller_5.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller_6.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller_7.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller_9.cxx Diff File
mod - src/BOPAlgo/FILES Diff File
mod - src/BOPDS/BOPDS_DS.cxx Diff File
mod - src/BOPDS/BOPDS_DS.hxx Diff File
mod - src/BOPDS/BOPDS_DS.lxx Diff File
mod - src/BOPDS/BOPDS_Iterator.cxx Diff File
mod - src/BOPDS/BOPDS_Iterator.hxx Diff File
mod - src/BOPDS/BOPDS_IteratorSI.cxx Diff File
add - src/BOPDS/BOPDS_MapOfPair.hxx Diff File
add - src/BOPDS/BOPDS_Pair.hxx Diff File
add - src/BOPDS/BOPDS_PairMapHasher.hxx Diff File
mod - src/BOPDS/BOPDS_SubIterator.cxx Diff File
mod - src/BOPDS/BOPDS_SubIterator.hxx Diff File
add - src/BOPDS/BOPDS_VectorOfPair.hxx Diff File
add - src/BOPDS/BOPDS_VectorOfVectorOfPair.hxx Diff File
mod - src/BOPDS/FILES Diff File
mod - src/BOPTest/BOPTest_CheckCommands.cxx Diff File
mod - src/BOPTest/BOPTest_DebugCommands.cxx Diff File
mod - tests/boolean/volumemaker/D2 Diff File
mod - tests/bugs/modalg_1/bug10232 Diff File
add - tests/bugs/modalg_6/bug28284_1 Diff File
add - tests/bugs/modalg_6/bug28284_2 Diff File
add - tests/bugs/modalg_6/bug28284_3 Diff File