• emv's avatar
    0028284: Avoid classification of sub-shapes of arguments of BOPs relatively... · 25dfc507
    emv authored
    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.
    25dfc507
BOPAlgo_PaveFiller_4.cxx 8.73 KB