352ffd73 |
1 | pload QAcommands |
2 | |
3 | puts "=======" |
4 | puts "OCC921" |
5 | puts "=======" |
6 | puts "" |
7 | ############################################################ |
8 | ## I have found that regresiion on file a054a.sat depends on changes in |
9 | ## BRepTools::AddUVBounds. The method BRepTools::UVBounds(F, u1, u2, v1, v2) |
10 | ## returns different values in C40 and in dev. It is because there are different |
11 | ## strings of code. BRepTools.cxx line 213 (in dev version) |
12 | ############################################################ |
13 | |
59495dbe |
14 | set good_u1 -0.14353846357954067 |
15 | set good_u2 4.8658600889104724 |
16 | set good_v1 -1.386764846506505 |
17 | set good_v2 7.6699722758333735 |
352ffd73 |
18 | |
19 | set percent_max 0.1 |
20 | |
21 | restore [locate_data_file OCC921.rle] a |
22 | |
23 | set BoundsList [OCC921 a] |
24 | |
25 | set u1 0 |
26 | set u2 0 |
27 | set v1 0 |
28 | set v2 0 |
29 | |
30 | regexp {Bounds: *([-0-9.+eE]+) *([-0-9.+eE]+) *([-0-9.+eE]+) *([-0-9.+eE]+)} $BoundsList full u1 u2 v1 v2 |
31 | |
32 | set u1_percent [expr abs(${u1} - ${good_u1}) / double(${good_u1}) * 100.] |
33 | set u2_percent [expr abs(${u2} - ${good_u2}) / double(${good_u2}) * 100.] |
34 | set v1_percent [expr abs(${v1} - ${good_v1}) / double(${good_v1}) * 100.] |
35 | set v2_percent [expr abs(${v2} - ${good_v2}) / double(${good_v2}) * 100.] |
36 | |
37 | puts "u1 = ${u1}" |
38 | puts "u2 = ${u2}" |
39 | puts "v1 = ${v1}" |
40 | puts "v2 = ${v2}" |
41 | |
42 | puts "u1_percent = ${u1_percent}" |
43 | puts "u2_percent = ${u2_percent}" |
44 | puts "v1_percent = ${v1_percent}" |
45 | puts "v2_percent = ${v2_percent}" |
46 | |
47 | set status 0 |
48 | |
49 | if {${u1_percent} > ${percent_max}} { |
50 | puts "OCC921: Error (case 1)" |
51 | set status 1 |
52 | } |
53 | |
54 | if {${u2_percent} > ${percent_max}} { |
55 | puts "OCC921: Error (case 2)" |
56 | set status 1 |
57 | } |
58 | |
59 | if {${v1_percent} > ${percent_max}} { |
60 | puts "OCC921: Error (case 3)" |
61 | set status 1 |
62 | } |
63 | |
64 | if {${v2_percent} > ${percent_max}} { |
65 | puts "OCC921: Error (case 4)" |
66 | set status 1 |
67 | } |
68 | |
69 | if {${status} == 0} { |
70 | puts "OCC921: OK" |
71 | } |
72 | |