FCurve.NoKeyValue
 
 
 

FCurve.NoKeyValue

Description

Sets or returns the value of the FCurve (as a Double) when there are no keys.

C# Syntax

// get accessor
Object rtn = FCurve.NoKeyValue;
// set accessor
FCurve.NoKeyValue = Object;

Examples

1. VBScript Example

'
'       This example demonstrates how to get the value of 
'       an FCurve when there are no keys.
'
set oCube = ActiveSceneRoot.AddGeometry("Cube","MeshSurface")
dim aValues
aValues = Array(0.00, 5.00, 1.00, 6.00, 2.00, 7.00, 3.00, 8.00, 4.00, 9.00, 5.00, 10.00)
set oFCurve = oCube.PosX.AddFCurve2( aValues)
LogMessage "FCurve NoKeyValue : " & oFCurve.NoKeyValue
' Outputs:
'INFO : FCurve NoKeyValue : 5

2. Python Example

# 
# This Python example illustrates how to create an fcurve and set the no key 
# value. This value is used when an fcurve is created with no keys. By default
# it is the value at the time the fcurve was created.
# 
# We try to import the Softimage constants from win32com.client. This assumes that
# the makepy.py utility has been used on the Softimage type library files (.tlb);
# this automatically installs the Softimage constants into win32com.client.constants
# 
from win32com.client import constants
from win32com.shell import shell
import pythoncom
# Define constants
try:
        siInfo = constants.siInfo
        siStandardFCurve = constants.siStandardFCurve
except:
        # typelib not found
        siInfo = 4
        siStandardFCurve = 20
# Create new scene
null = Application.NewScene("", 0)
# Create a null
null = Application.GetPrim("Null", "", "", "")
# Get the posx parameter from the null
posx = null.posx
# Set the value of posx; this will be the default nokeyvalue
posx.value =  10
val = posx.value
Application.LogMessage( 'posx.value before = ' + str(val), siInfo )
# Define an empty keys array
keys = []
# Create an fcurve on posx
fc = posx.AddFCurve2( keys, siStandardFCurve )
# Get the current nokeyvalue value
val = fc.NoKeyValue
Application.LogMessage( 'fc.NoKeyValue before = ' + str(val), siInfo )
# Set the fc nokeyvalue
fc.NoKeyValue = 2.5
val = fc.NoKeyValue
Application.LogMessage( 'fc.NoKeyValue after = ' + str(val), siInfo )
# Get the value of posx; should be the new nokeyvalue
val = posx.Value
Application.LogMessage( 'posx.value after = ' + str(val), siInfo )
# Test undo/redo
# Undo Set fc no key value 
Application.Undo()
val  = fc.NoKeyValue
Application.LogMessage( 'fc.NoKeyValue undo = ' + str(val), siInfo )
# Redo Set fc no key value 
Application.Redo()
val = fc.NoKeyValue
Application.LogMessage( 'fc.NoKeyValue redo = ' + str(val), siInfo )
# Produces the following output: 
#INFO : posx.value before = 10.0
#INFO : fc.NoKeyValue before = 10.0
#INFO : fc.NoKeyValue after = 2.5
#INFO : posx.value after = 2.5
#INFO : fc.NoKeyValue undo = 10.0
#INFO : fc.NoKeyValue redo = 2.5