mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-03 17:56:21 +03:00
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.
26 lines
690 B
Plaintext
26 lines
690 B
Plaintext
puts "========"
|
|
puts "OCC28284"
|
|
puts "========"
|
|
puts ""
|
|
#################################################
|
|
# Avoid classification of sub-shapes of arguments of BOPs relatively solids during Intersection phase
|
|
#################################################
|
|
|
|
restore [locate_data_file bug28284_1.brep] b1
|
|
plane p 0 9000 0 0 1 0
|
|
mkface f p -1.e+6 1.e+6 -1.e+6 1.e+6
|
|
halfspace b2 f 0 0 0
|
|
|
|
bop b1 b2
|
|
|
|
bopcommon result1
|
|
checkshape result1
|
|
checknbshapes result1 -solid 1
|
|
checkprops result1 -s 2.58352e+007 -v 2.43418e+008
|
|
|
|
bopcut result
|
|
checkshape result
|
|
checknbshapes result -solid 1
|
|
checkprops result -s 247149 -v 1.81425e+006
|
|
|
|
checkview -display result -2d -path ${imagedir}/${test_image}.png |