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