FCurveKey

Object Hierarchy | Related C++ Class: FCurveKey

Inheritance

SIObject

FCurveKey

Introduced

v1.0

Description

The FCurveKey represents a key on an FCurve and is used to access and modify information about that key.

Note: For more information about interpolation and extrapolation for fcurves. For more information, see "FCurve Interpolation and Extrapolation" in the Softimage user guide.

Methods

GetConstraint2 IsClassOf operator IsEqualTo operator Set

Properties

Application Categories Constraint FullName operator
Help Index Interpolation Left
LeftTanX LeftTanY Locked Name operator
NestedObjects Origin OriginPath Parent
Right RightTanX RightTanY Selected
Time Type operator Value  
       

Examples

1. JScript Example

/*
	This example demonstrates how to set an fcurve on the posx parameter
	and then how to access the keys through the FCurveKey object
*/
NewScene( null, false )
var oRoot = Application.ActiveProject.ActiveScene.Root;
var oNull = oRoot.AddNull();
var oPosX = oNull.posx;
// Create and connect an fcurve to the position x
var oFCurve = oPosX.AddFCurve2( new Array(1, 10, 50, 0, 100, 10) );
// Set the zero slopes on the key tangents
oFCurve.SetKeyTangents( new Array( 
	-10.5, 0, 10.5, 0, 
	-10.5, 0, 10.5, 0, 
	-10.5, 0, 10.5, 0 
));
// Get the keys on the fcurve
for ( var i=0; i<oFCurve.Keys.Count; i++ ) {
	var oFCKey = oFCurve.Keys(i);
	Application.LogMessage( "oFCKey[" + oFCKey.Index + "] at frame " + oFCKey.Time + " = " + oFCKey.Value );
}
// Expected results:
//INFO : oFCKey[0] at frame 1 = 10
//INFO : oFCKey[1] at frame 50 = 0
//INFO : oFCKey[2] at frame 100 = 10

2. VBScript Example

'
' This example demonstrates how to set an fcurve on the posx parameter
' and then how to access the keys through the FCurveKey object
'
set oRoot = Application.ActiveProject.ActiveScene.Root
set oNull = oRoot.AddNull
set oPosX = oNull.posx
' Create and connect an fcurve to the position x
set oFCurve = oPosX.AddFCurve2( Array( 1, 10, 50, 0, 100, 10 ))
' Set the zero slopes on the key tangents
oFCurve.SetKeyTangents( Array( _
	-10.5, 0, 10.5, 0, _
	-10.5, 0, 10.5, 0, _
	-10.5, 0, 10.5, 0 _
))
' Get the keys on the fcurve
for each oFCKey in oFCurve.Keys
	Application.LogMessage "oFCKey[" & oFCKey.Index & "] at frame " & oFCKey.Time & " = " & oFCKey.Value
next
' Expected results:
'INFO : oFCKey[0] at frame 1 = 10
'INFO : oFCKey[1] at frame 50 = 0
'INFO : oFCKey[2] at frame 100 = 10

3. Python Example

#
# This example demonstrates how to set an fcurve on the posx parameter
# and then how to access the keys through the FCurveKey object
#
Application.NewScene( "", 0 )
oRoot = Application.ActiveProject.ActiveScene.Root
oNull = oRoot.AddNull()
oPosX = oNull.posx
# Create and connect an fcurve to the position x
oFCurve = oPosX.AddFCurve2( [1, 10, 50, 0, 100, 10] )
# Set the zero slopes on the key tangents
oFCurve.SetKeyTangents( [ 
	-10.5, 0, 10.5, 0, 
	-10.5, 0, 10.5, 0, 
	-10.5, 0, 10.5, 0 
])
# Get the keys on the fcurve
for oFCKey in oFCurve.Keys :
	Application.LogMessage( "oFCKey[" + str(oFCKey.Index) + "] at frame " + str(oFCKey.Time) + " = " + str(oFCKey.Value) )
# Expected results:
#INFO : oFCKey[0] at frame 1.0 = 10.0
#INFO : oFCKey[1] at frame 50.0 = 0.0
#INFO : oFCKey[2] at frame 100.0 = 10.0

See Also

FCurve.Keys FCurveKeyCollection FCurve