#INTERFACE CAF
# Presentation attributes
#
# Testing attribute: TPrsStd_AISPresentation
#
# Testing command:   AISDefaultTransparency
# Testing command:   AISHasOwnTransparency
# Note:   After call of  AISDefaultTransparency-command : AISHasOwnTransparency = false ( int 0 )
#

puts "caf003-G1"

# Create two boxis
box aBox1 100 200 300
set aLabel1 0:2
SetShape D ${aLabel1} aBox1

box aBox2 50 50 0 100 200 300
set aLabel2 0:3
SetShape D ${aLabel2} aBox2

# Initialize 3D viewer
AISInitViewer D

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

# Set shading mode
vsetdispmode 1

# Set a color of the second shape as NOC_GREEN
AISColor D ${aLabel2} 229

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

# Close/Open transaction
NewCommand D

# Set a transparency of the second shape 
set SetTransparency 0.9
AISTransparency D ${aLabel2} ${SetTransparency}

# Close/Open transaction
NewCommand D

# Check own transparency of the shape 
set HasOwnTransparency1 [AISHasOwnTransparency D ${aLabel2}]

# Get current transparency of the shape 
###set aTransparency [lindex [AISTransparency D ${aLabel2}] 0]
set list [AISTransparency D ${aLabel2}]
set aTransparency [lindex ${list} [expr [llength ${list}] - 1] ]

# Set default transparency of the shape
AISDefaultTransparency D ${aLabel2}

# Close/Open transaction
NewCommand D

# Undo
Undo D

# Update the viewer
AISRepaint D

# Redo
Redo D

# Update the viewer
AISRepaint D

# Check own transparency of the shape 
set HasOwnTransparency2 [AISHasOwnTransparency D ${aLabel2}]

puts "It is not necessary to have the photo for this case."

if { ${HasOwnTransparency1} == 0 || 
     ${HasOwnTransparency2} > 0 } {
	puts "HasOwnTransparency1=${HasOwnTransparency1} HasOwnTransparency2=${HasOwnTransparency2}"
	puts "AISDefaultTransparency command: Error"
        return
}
puts "AISDefaultTransparency command: OK"
