Adding test cases from grid chl
[occt.git] / tests / bugs / vis / bug319
1 puts "========"
2 puts "OCC319"
3 puts "========"
4 puts ""
5 ######################################################
6 # Wrong shading on a shape
7 ######################################################
8
9 cpulimit 3500
10
11 restore [locate_data_file OCC319.brep] result
12
13 decho off
14 set res [checkshape result]
15 decho on
16 set index [lsearch $res Faulty]
17 if {$index > -1} {
18    puts "Warning OCC319: here is checkshape problem"
19 }
20
21 tclean result
22 vinit
23 vdisplay result
24 vsetdispmode result 1
25 vfit
26
27 set scale    16.5593321780929
28 set center_X -0.0688543427812931
29 set center_Y 11.6346916159369
30 set proj_X   0.207536488771439
31 set proj_Y   -0.233648166060448
32 set proj_Z   0.949914216995239
33 set up_X     -0.857990384101868
34 set up_Y     0.422952175140381
35 set up_Z     0.291485607624054
36 set at_X     8.22575855255127
37 set at_Y     -2.95449280738831
38 set at_Z     3.08669567108154
39
40 QASetViewCharac ${scale} ${center_X} ${center_Y} ${proj_X} ${proj_Y} ${proj_Z} ${up_X} ${up_Y} ${up_Z} ${at_X} ${at_Y} ${at_Z}
41
42 set info [trinfo result]
43 regexp { +([-0-9.+eE]+) +triangles} $info full tri
44 regexp { +([-0-9.+eE]+) +nodes} $info full nod
45
46 set IsGood 1
47 if { $tri == 0 || $nod == 0 }  {
48   puts "Faulty OCC319: here is shading problem"
49   set IsGood 0
50 }
51
52 regexp {Mass +: +([-0-9.+eE]+)} [sprops result] full square
53 set good_square 8623.6
54 set square_percent [expr abs(${square} - ${good_square}) / double(${good_square}) * 100.]
55
56 set percent_max 0.1
57
58 puts "good_square = ${good_square}"
59 puts "square = ${square}"
60 puts "square_percent = ${square_percent}"
61
62 if {${square_percent} > ${percent_max}} {
63    puts "OCC319 Faulty : here is square problem"
64    set IsGood 0
65 }
66
67 if {${IsGood} != 1} {
68    puts "Errpr : OCC319"
69 }
70
71 set only_screen 1