1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-09 18:50:54 +03:00
occt/tests/bugs/modalg_6/bug26310_1
nbv 7365fad60b 0026310: Very slow boolean cut operations on cylinders
1. JoinWLines algorithm has been improved.
2. Reference to the V-boundaries is deleted when computing step.
3. Decreasing the tolerance when computing parameters of WLine.
4. Adding boundary point is forbidden if it lies in prolongation of found ones.
5. Possible reason of exception has been eliminated.
6. Processing of critical point has been improved.

Test cases for this issue have been created.
Correction of some test case(s).

Test case bugs/modalg_6/bug26310_4 is added

Update of test-cases for issue #26310
2015-07-22 16:11:31 +03:00

45 lines
968 B
Plaintext

puts "========"
puts "OCC26310"
puts "========"
puts ""
#################################################
# Very slow boolean cut operations on cylinders
#################################################
if { [regexp {Debug mode} [dversion]] } {
set max_time 0.3
} else {
set max_time 0.15
}
set maxToler 1.5e-5
restore [locate_data_file OCC26310-b1.brep] b1
restore [locate_data_file OCC26310-b2.brep] b2
explode b1 f
explode b2 f
dchrono cr reset
dchrono cr start
set log1 [bopcurves b1_1 b2_1 -2d]
dchrono cr stop
regexp {Tolerance Reached=+([-0-9.+eE]+)} ${log1} full Toler
puts "TolReached = $Toler"
if { $Toler > $maxToler } {
puts "Error: Tolerance is too big ($Toler > $maxToler)"
}
set log2 [dchrono cr show]
regexp {CPU user time: ([-0-9.+eE]+) seconds} $log2 full sec
if { $sec > ${max_time} } {
puts "Error: CPU user time is more than ${max_time} seconds"
} else {
puts "OK: CPU user time is less than ${max_time} seconds"
}