1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-05-26 11:05:31 +03:00
occt/tests/bugs/modalg_7/bug27711
emv 81a55a6996 0029333: Boolean Operations - Prevent modification of the input shapes in case their sub-shapes have not been modified
Prevent modification of the input shapes in destructive mode in case their sub-shapes have not been modified:
1. Prevent edge splitting for the pave blocks with old vertices if it is possible to use the existing edge (*BOPAlgo_PaveFiller::MakeSplitEdges*);
2. Prevent creation of the new containers (WIRES/SHELLS/COMPSOLIDS) if non of its parts have been modified (*BOPAlgo_Builder::FillImagesContainer*);
3. Prevent creation of the new face if non of its wires have been modified (*BOPAlgo_Builder::FillImagesFaces*);
4. If possible, use the original face to be the representative for the group of SD faces (*BOPAlgo_Builder::FillSameDomainFaces*).

Cosmetic changes:
1. Documentation of the *BOPAlgo_Builder* class.
2. Making simple methods of the *BOPAlgo_Builder* class inline.
3. Getting rid of the *BOPAlgo_Builder::mySplits* field as it is excessive. *BOPAlgo_Builder::myImages* can be used instead.
3. Moving the Check Inverted option from *BOPAlgo_Options* to *BOPAlgo_Builder*.

Test cases for the issue.
Adjustment of the test case to their current behavior.
Test case *blend/complex/H2* has been deleted as duplicate of the test case *blend/simple/Z1*.
2017-11-30 12:11:20 +03:00

54 lines
1.5 KiB
Plaintext

puts "TODO OCC27711 ALL: Faulty shapes in variables faulty_1 to faulty_"
puts "TODO OCC27711 ALL: ERROR: OCC27711 is reproduced."
puts "========"
puts "OCC27711"
puts "========"
puts ""
#####################################
# Blend-on-blend corrupts the shape
#####################################
smallview
restore [locate_data_file bug27711.brep] s
clear
display s
fit
xwd $imagedir/${casename}_step_0.png
explode s e
blend result s 0.5 s_12 0.5 s_11
set bug_info [string trim [checkshape result]]
if {$bug_info != "This shape seems to be valid"} {
puts "ERROR: Problem of test case functionality. Should be additionally investigated."
}
clear
display result
xwd $imagedir/${casename}_step_1.png
explode result e
# The correct command format should be following:
# blend res res 0.5 res_7 0.5 res_11
# but it does not work properly on win64 vc 10
# so for automated test case following command format was used:
blend result result 0.5 result_11
set bug_info [string trim [checkshape result]]
if {$bug_info != "This shape seems to be valid"} {
puts "ERROR: Problem of test case functionality. Should be additionally investigated."
}
clear
display result
xwd $imagedir/${casename}_step_2.png
explode result e
blend result result 0.35 result_4 0.25 ressult_15 0.2 result_27
set bug_info [string trim [checkshape result]]
if {$bug_info != "This shape seems to be valid"} {
puts "ERROR: OCC27711 is reproduced. Result of blend operation is WRONG."
}
clear
display result
xwd $imagedir/${casename}_step_3.png