0026622: Tests - Avoid using dlog and decho commands in test scripts
[occt.git] / tests / bugs / modalg_5 / bug25292_15
CommitLineData
02effd35 1puts "================"
2puts "OCC25292"
3puts "================"
4puts ""
5#######################################################################
6# Face/Face intersection algorithm gives different results for different order of the arguments
7#######################################################################
8
e8feb725 9proc GetRange { curve } {
10 global U1
11 global U2
12
13 set log [uplevel dump $curve]
14
15 regexp {Degree +([-0-9.+eE]+), +([-0-9.+eE]+) Poles, +([-0-9.+eE]+)} ${log} full Degree Poles KnotsPoles
16 puts "Degree=${Degree}"
17 puts "Poles=${Poles}"
18 puts "KnotsPoles=${KnotsPoles}"
19 puts ""
20
21 set Knot 1
22 set exp_string "Knots :\n\n +${Knot} : +(\[-0-9.+eE\]+) +(\[-0-9.+eE\]+)"
23 regexp ${exp_string} ${log} full U1 Mult1
24
25 set Knot ${KnotsPoles}
26 set exp_string " +${Knot} : +(\[-0-9.+eE\]+) +(\[-0-9.+eE\]+)"
27 regexp ${exp_string} ${log} full U2 Mult2
28}
29
30puts "##############################"
31puts "#!!!Search \"Attention\" keyword on this web-page for additional checking!!!"
32puts "##############################"
33puts ""
34
02effd35 35# intersect command
36
e8feb725 37#This value must be equal to the analogical value in bug25292_11, bug25292_12, bug25292_15 and bug25292_16 of "bugs modalg_5" testgrid.
38set GoodNbCurv 4
39
02effd35 40restore [locate_data_file bug25292_Input_0.brep] b1
41restore [locate_data_file bug25292_Input_1.brep] b2
42
43explode b1 f
44copy b1_2 f1
45explode b2 f
46copy b2_2 f2
47
48mksurface s1 f1
49mksurface s2 f2
50
51#################
e8feb725 52intersect res s1 s2
02effd35 53#################
e8feb725 54set che [whatis res]
55set ind [string first "3d curve" $che]
56if {${ind} >= 0} {
57 #Only variable "res" exists
58
59 if { $GoodNbCurv == 1 } {
60 puts "OK: Curve Number is good!"
61 } else {
62 puts "Error: Curve Number is bad!"
63 }
64
65 set U1 0.0
66 set U2 0.0
67
68 GetRange res
69
70 puts "U1 = ${U1}"
71 puts "U2 = ${U2}"
02effd35 72
e8feb725 73 if {[expr {$U2 - $U1}] < 1.0e-20} {
74 puts "Error: Wrong curve's range!"
75 }
76
6d368502 77 xdistcs res s1 ${U1} ${U2} 10 1e-7
78 xdistcs res s2 ${U1} ${U2} 10 1e-7
02effd35 79} else {
e8feb725 80 set ic 1
81 set AllowRepeate 1
82 while { $AllowRepeate != 0 } {
83 set che [whatis res_$ic]
84 set ind [string first "3d curve" $che]
85 if {${ind} < 0} {
86 set AllowRepeate 0
87 } else {
88 set U1 0.0
89 set U2 0.0
90
91 GetRange res_$ic
92
93 puts "U1 = ${U1}"
94 puts "U2 = ${U2}"
95
96 if {[expr {$U2 - $U1}] < 1.0e-20} {
97 puts "Error: Wrong curve's range!"
98 }
99
6d368502 100 xdistcs res_$ic s1 ${U1} ${U2} 10 1e-7
101 xdistcs res_$ic s2 0 1 10 1e-7
e8feb725 102
103 incr ic
104 }
105 }
106
107 if {[expr {$ic - 1}] == $GoodNbCurv} {
108 puts "OK: Curve Number is good!"
109 } else {
110 puts "Error: Curve Number is bad!"
111 }
02effd35 112}