mirror of
https://github.com/Open-Cascade-SAS/OCCT.git
synced 2026-08-01 19:50:24 +08:00
e146ef9a93
1. VRange of intersection curve has been limited. As result, too oblong intersection curve(s) will be never returned. 2. Now, purger algorithm is not called for lines obtained by Geom-Geom intersection method. 3. New statuses are entered in IntPatch_ImpImpIntersection class. It makes intersection algorithm more informative and flexible for using. 4. Method IntPatch_ImpImpIntersection::GetStatus() has been created. Tuning of test case bugs modalg_6/bug26894
68 lines
1.6 KiB
Plaintext
68 lines
1.6 KiB
Plaintext
puts "================"
|
|
puts "OCC26894"
|
|
puts "================"
|
|
puts ""
|
|
#######################################################################
|
|
# Intersection algorithm between two infinite cylinders is hanging
|
|
#######################################################################
|
|
|
|
# Attention!!!
|
|
# The test on performance meter.
|
|
# On the MASTER it takes:
|
|
# Elapsed time: 0 Hours 0 Minutes 6.3723911111 Seconds
|
|
# CPU user time: 6.15625 seconds
|
|
# CPU system time: 0.0625 seconds
|
|
|
|
# The intersection curve is almost infinite.
|
|
# Therefore, we must have failed to return
|
|
# any section curve (see comments to the issue #26894).
|
|
set GoodNbCurv 0
|
|
|
|
restore [locate_data_file bug26884-f1.brep] f1
|
|
restore [locate_data_file bug26884-f2.brep] f2
|
|
|
|
mksurface ss1 f1
|
|
mksurface ss2 f2
|
|
|
|
if { ![ catch {intersect result ss1 ss2 } ] } {
|
|
puts "Error: intersection algorithm must return fail status. But it is not."
|
|
}
|
|
|
|
set che [whatis result]
|
|
set ind [string first "3d curve" $che]
|
|
if {${ind} >= 0} {
|
|
#Only variable "result" exists
|
|
renamevar result result_1
|
|
}
|
|
|
|
set ic 1
|
|
set AllowRepeate 1
|
|
while { $AllowRepeate != 0 } {
|
|
set che [whatis result_$ic]
|
|
set ind [string first "3d curve" $che]
|
|
if {${ind} < 0} {
|
|
set AllowRepeate 0
|
|
} else {
|
|
display result_$ic
|
|
|
|
bounds result_$ic U1 U2
|
|
|
|
dump U1 U2
|
|
|
|
if {[dval U2-U1] < 1.0e-9} {
|
|
puts "Error: Wrong curve's range!"
|
|
}
|
|
|
|
xdistcs result_$ic ss1 U1 U2 10 1.0e-7
|
|
xdistcs result_$ic ss2 U1 U2 10 1.0e-7
|
|
|
|
incr ic
|
|
}
|
|
}
|
|
|
|
if {[expr {$ic - 1}] == $GoodNbCurv} {
|
|
puts "OK: Number of curves is good!"
|
|
} else {
|
|
puts "Error: $GoodNbCurv is expected but [expr {$ic - 1}] is found!"
|
|
}
|