1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-07-30 13:05:50 +03:00
occt/tests/bugs/modalg_5/bug24915
nbv 7c32c7c41f 0025531: Difference in intersection result on Windows and Linux platform is very significant
1. Dump of WLine is shown with more precise.
2. Equation solving with more precise.
3. Dump of Multy-line.
4. Code optimization.

Some test cases were updated in accordance with their new behaviour.

Correction of test cases for issue CR25531
2014-12-25 18:06:15 +03:00

75 lines
1.7 KiB
Plaintext
Executable File

puts "========="
puts "CR24915"
puts "========="
puts ""
###############################
## Wrong intersection curves between two cylinders
###############################
puts "##############################"
puts "#!!!Searh \"Attention\" keyword on this web-page for additinal checking!!!"
puts "##############################"
restore [locate_data_file bug24915_ft2.brep] b1
restore [locate_data_file bug24915_ft3.brep] b2
# 1. topology
bclearobjects
bcleartools
baddobjects b1 b2
bfillds
bbuild r
checkshape r
# 2. geometry
set MaxTol 5.0e-7
set log [bopcurves b1 b2]
mksurface s1 b1
mksurface s2 b2
regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
if {${Toler} > ${MaxTol}} {
puts "Error: Tolerance is too big!"
}
for {set i 1} {$i <= ${NbCurv}} {incr i} {
set log [dump c_$i]
regexp {Degree +([-0-9.+eE]+), +([-0-9.+eE]+) Poles, +([-0-9.+eE]+)} ${log} full Degree Poles KnotsPoles
set Knot 1
set exp_string "Knots :\n\n +${Knot} : +(\[-0-9.+eE\]+) +(\[-0-9.+eE\]+)"
regexp ${exp_string} ${log} full U1 Mult1
set Knot ${KnotsPoles}
set exp_string " +${Knot} : +(\[-0-9.+eE\]+) +(\[-0-9.+eE\]+)"
regexp ${exp_string} ${log} full U2 Mult2
dlog reset
dlog on
xdistcs c_$i s1 ${U1} ${U2} 100
set Log2 [dlog get]
set List2 [split ${Log2} {TD= \t\n}]
set Tolerance 1.6e-6
set Limit_Tol 1.0e-7
set D_good 0.
catch {checkList ${List2} ${Tolerance} ${D_good} ${Limit_Tol}}
dlog reset
dlog on
xdistcs c_$i s2 ${U1} ${U2} 100
set Log2 [dlog get]
set List2 [split ${Log2} {TD= \t\n}]
set Tolerance 1.6e-6
set Limit_Tol 1.0e-7
set D_good 0.
catch {checkList ${List2} ${Tolerance} ${D_good} ${Limit_Tol}}
}
smallview
donly b2 c_2
fit
set only_screen_axo 1