0023766: Shape orientation processing mechanism redesign
[occt.git] / tests / bugs / caf / bug1031
1 puts "================"
2 puts "OCC1031"
3 puts "================"
4 puts ""
5 #
6 # Note:   Numerical control of setting material
7 #
8
9 pload QAcommands
10
11 NewDocument D MDTV-Standard
12 UndoLimit D 100
13 NewCommand D
14
15 # Set NamedShape attribute
16 box aBox1 100 200 300
17 set aLabel 0:2
18 SetShape D ${aLabel} aBox1
19
20 # Initialize 3D viewer
21 AISInitViewer D
22
23 # Add AISPresentation attribute with parameter NS
24 AISSet D ${aLabel} NS
25
26 # Set shading mode
27 vsetdispmode 1
28
29 # Display presentation of NamedShape in the viewer
30 AISDisplay D ${aLabel}
31
32 # Close/Open transaction
33 NewCommand D
34
35 set list [OCC1031_AISMaterial D ${aLabel}]
36 set AISMaterial1 [lindex ${list} [expr [llength ${list}] - 1] ]
37
38 # Set a material of the shape as NOM_JADE
39 set JadeMaterial 18
40 OCC1031_AISMaterial D ${aLabel} ${JadeMaterial}
41
42 set list [OCC1031_AISMaterial D ${aLabel}]
43 set AISMaterial2 [lindex ${list} [expr [llength ${list}] - 1] ]
44
45 # Close/Open transaction
46 NewCommand D
47
48 # Undo
49 Undo D
50
51 # Update the viewer
52 AISRepaint D
53
54 set list [OCC1031_AISMaterial D ${aLabel}]
55 set AISMaterial3 [lindex ${list} [expr [llength ${list}] - 1] ]
56
57 # Redo
58 Redo D
59
60 # Update the viewer
61 AISRepaint D
62
63 set list [OCC1031_AISMaterial D ${aLabel}]
64 set AISMaterial4 [lindex ${list} [expr [llength ${list}] - 1] ]
65
66 # Check the material
67 puts "AISMaterial1 = ${AISMaterial1}"
68 puts "AISMaterial2 = ${AISMaterial2}"
69 puts "AISMaterial3 = ${AISMaterial3}"
70 puts "AISMaterial4 = ${AISMaterial4}"
71
72 set status 0
73 if { ${AISMaterial1} != 0 } {
74         puts "OCC1031_AISMaterial command: Error (case 1)"
75         set status 1
76 }
77
78 if { ${AISMaterial2} != ${JadeMaterial} } {
79         puts "OCC1031_AISMaterial command: Error (case 2)"
80         set status 1
81 }
82
83 if { ${AISMaterial3} != 0 } {
84         puts "OCC1031_AISMaterial command: Error (case 3)"
85         set status 1
86 }
87
88 if { ${AISMaterial4} != ${JadeMaterial} } {
89         puts "OCC1031_AISMaterial command: Error (case 4)"
90         set status 1
91 }
92
93 if { ${status} == 0} {
94         puts "OCC1031_AISMaterial command: OK"
95 }
96