0029528: Visualization, TKOpenGl - allow defining sRGB textures
[occt.git] / tests / bugs / xde / bug28641
1 puts "========"
2 puts "0028641: Data Exchange - Support alpha-channel of color"
3 puts "========"
4 puts ""
5
6 pload OCAF
7
8 # Create document with View
9 NewDocument D_First BinXCAF
10 box b 1 1 1
11 explode b e
12 explode b f
13 XAddShape D_First b
14 XSetColor D_First b_1 RED s
15 XSetColor D_First b_2 YELLOW 0.3 s
16 XSetColor D_First b_11 WHITE 0.2 c
17 XSetColor D_First b_10 CYAN c
18 XAddColor D_First 0.5 0.5 1 0.1
19
20 XShow D_First
21 vfit
22 vsetdispmode 1
23 vdump $::imagedir/${::casename}_first.png
24 if { [vreadpixel 300 200 rgb name] != "GRAY63" } { puts "Error: wrong color in 3D Viewer" }
25
26 # Write file
27 SaveAs D_First ${imagedir}/bug28521.xbf
28 Close D_First
29 # Read document
30 XOpen ${imagedir}/bug28521.xbf D_Second
31
32 # Results validation
33 set isOK 1
34 set color ""
35 set alpha ""
36 set prec 1e-7
37 #0:1:2:1
38 set res [XGetColor D_Second 0:1:2:1]
39 if {$res != "RED"} {
40   set isOK 0
41 }
42 #0:1:2:2
43 set res [XGetColor D_Second 0:1:2:2]
44 regexp {([A-Z0-9]+) \(([0-9.+eE]+)\)} $res full color alpha
45 if {$color != "YELLOW"} {
46   set isOK 0
47 }
48 if {[expr abs(0.3 - $alpha)] > $prec} {
49   set isOK 0
50 }
51 #0:1:2:3
52 set res [XGetColor D_Second 0:1:2:3]
53 regexp {([A-Z0-9]+) \(([0-9.+eE]+)\)} $res full color alpha
54 if {$color != "WHITE"} {
55   set isOK 0
56 }
57 if {[expr abs(0.2 - $alpha)] > $prec} {
58   set isOK 0
59 }
60 #0:1:2:4
61 set res [XGetColor D_Second 0:1:2:4]
62 if {$res != "CYAN"} {
63   set isOK 0
64 }
65 #0:1:2:5
66 set res [XGetColor D_Second 0:1:2:5]
67 regexp {([A-Z0-9]+) \(([0-9.+eE]+)\)} $res full color alpha
68 if {$color != "LIGHTSTEELBLUE2"} {
69   set isOK 0
70 }
71 if {[expr abs(0.1 - $alpha)] > $prec} {
72   set isOK 0
73 }
74
75 if {$isOK == 0} {
76   puts "Error: wrong color."
77 }
78
79 XShow D_Second
80 vfit
81 vsetdispmode 1
82 vdump $::imagedir/${::casename}.png
83 if { [vreadpixel 300 200 rgb name] != "GRAY63" } { puts "Error: wrong color in 3D Viewer" }
84
85 Close D_Second