puts "================"
puts "OCC1034"
puts "================"
puts ""
#
# Note:   Numerical control of setting selection mode
#

pload QAcommands

NewDocument D BinOcaf
UndoLimit D 100
NewCommand D

# Set NamedShape attribute
box aBox1 100 200 300
set aLabel1 0:2
SetShape D ${aLabel1} aBox1

# Initialize 3D viewer
AISInitViewer D

# Add AISPresentation attribute with parameter NS
AISSet D ${aLabel1} NS

# Close/Open transaction
NewCommand D

set list [OCC1034_AISSelectionMode D ${aLabel1}]
set AISSelectionMode1 [lindex ${list} [expr [llength ${list}] - 1] ]

# Display presentation of NamedShape in the viewer
AISDisplay D ${aLabel1}

# Close/Open transaction
NewCommand D

# Set a mode
set SetSelectionMode 2
OCC1034_AISSelectionMode D ${aLabel1} ${SetSelectionMode}

set list [OCC1034_AISSelectionMode D ${aLabel1}]
set AISSelectionMode2 [lindex ${list} [expr [llength ${list}] - 1] ]

# Close/Open transaction
NewCommand D

# Undo
Undo D

# Update the viewer
AISRepaint D

set list [OCC1034_AISSelectionMode D ${aLabel1}]
set AISSelectionMode3 [lindex ${list} [expr [llength ${list}] - 1] ]

# Redo
Redo D

# Update the viewer
AISRepaint D

set list [OCC1034_AISSelectionMode D ${aLabel1}]
set AISSelectionMode4 [lindex ${list} [expr [llength ${list}] - 1] ]

# Check the mode
puts "AISSelectionMode1 = ${AISSelectionMode1}"
puts "AISSelectionMode2 = ${AISSelectionMode2}"
puts "AISSelectionMode3 = ${AISSelectionMode3}"
puts "AISSelectionMode4 = ${AISSelectionMode4}"

set DefaultAISSelectionMode 0
set status 0
if { ${AISSelectionMode1} != ${DefaultAISSelectionMode} } {
	puts "OCC1034_AISSelectionMode command: Error (case 1)"
	set status 1
}
if { ${AISSelectionMode2} != ${SetSelectionMode} } {
	puts "OCC1034_AISSelectionMode command: Error (case 2)"
	set status 1
}
if { ${AISSelectionMode3} != ${DefaultAISSelectionMode} } {
	puts "OCC1034_AISSelectionMode command: Error (case 3)"
	set status 1
}
if { ${AISSelectionMode4} != ${SetSelectionMode} } {
	puts "OCC1034_AISSelectionMode command: Error (case 4)"
	set status 1
}

if { ${status} == 0} {
	puts "OCC1034_AISSelectionMode command: OK"
}

