GetFCurveInfo

Description

Gets function curve information for a parameter.

Note: This command uses output arguments. C# and some scripting languages (such as JScript, PerlScript and Python) don't support arguments passed by reference so you need to use the best workaround for your situation:

For scripting languages this command returns an ISIVTCollection which you can use to get the output arguments.

For C# you can use the XSIApplication.ExecuteCommand method to call this command. ExecuteCommand packs the output arguments into a C# System.Object containing an Array of the output arguments (see Calling Commands from C#).

Scripting Syntax

GetFCurveInfo( InputObj, [CurveKind], [ValueWhenNoKey], NbKeys, [ExtrapolationKind], [DefaultSegKind], [LowClamp], [HighClamp] )

Parameters

Parameter

Type

Description

InputObj

String

FCurve animation source.

CurveKind [out]

Integer

Returns the type of function curve.

Possible Values:

0: UNKNOWN

10: BOOLEAN

15: INTEGER

20: STANDARD

30: RAWDATA

ValueWhenNoKey [out]

Double

Returns the value of the function curve when it has no keys.

NbKeys [out]

Integer

Returns the number of keys.

ExtrapolationKind [out]

Integer

Returns the extrapolation type of the function curve.

Possible Values:

1: CONSTANT

2: LINEAR

3: PERIODIC

DefaultSegKind [out]

Integer

Returns the default segment kind. Applies to standard function curves.

Possible Values:

0: DEFAULT

1: CONSTANT

2: LINEAR

3: CUBIC

LowClamp [out]

Double

Returns the lower-clamping value.

HighClamp [out]

Double

Returns the higher-clamping value.

Examples

1. VBScript Example

dim source, fcurve
dim crvtype, nokeyval, nbKeys, extrap, seq, lowclamp, highclamp
GetPrim "Null"
' Save some keys on the X position of the Null object
SaveKey "Null.kine.local.posx", 1, -5.0
SaveKey "Null.kine.local.posx", 25, 7.0
SaveKey "Null.kine.local.posx", 50, 2.0
' Get the FCurve animation source
set source = GetSource( "Null.kine.local.posx", siFCurveSource )
for each fcurve in source
   GetFCurveInfo fcurve, crvtype, nokeyval, nbKeys, extrap, seq, lowclamp, highclamp
   Application.LogMessage "Number of keys : " & nbKeys
   Application.LogMessage "Value when no keys : " & nokeyval
   Application.LogMessage "Type of fcurve : " & crvtype
   Application.LogMessage "Extrapolation type : " & extrap
   Application.LogMessage "Default segment type: " & seq
   Application.LogMessage "Lower clamp bound : " & lowclamp
   Application.LogMessage "Upper clamp bound : " & highclamp
next

2. JScript Example

// This example illustrates how to get access to the output
// arguments returned by the GetFCurveInfo command.
// Commands that don't explicitly define a return value but have output
// arguments in fact have an implicit return value which contains collection 
// object ( IVTCollection ). The .value is a method on this object.

// Create scene
NewScene("",false);
GetPrim("Null", null, null);
SetValue("null.Name", "null", null);
CreatePrim("Arc", "NurbsCurve", null, null);
SelectObj("null", null, true);
ApplyCns("Path", "null", "arc", null);
SaveKey("null.kine.pathcns.perc", 1, 0, null);
LastFrame();
SetValue("null.kine.pathcns.perc", 100, null);
SaveKey("null.kine.pathcns.perc", 100, 100, null);

// Get the fcurve from a string path
var col = GetSource("null.kine.pathcns.perc");
var src = col(0); 

// Get the fcurve info
var vtcol = GetFCurveInfo( src );

// Dump the fcurve info
Application.LogMessage( "CurveKind = " + vtcol.value("CurveKind") );
Application.LogMessage( "ValueWhenNoKey= " + vtcol.value("ValueWhenNoKey") ); 
Application.LogMessage( "NbKeys= " + vtcol.value("NbKeys") ); 
Application.LogMessage( "ExtrapolationKind= " + vtcol.value("ExtrapolationKind") ); 
Application.LogMessage( "DefaultSegKind= " + vtcol.value("DefaultSegKind") ); 
Application.LogMessage( "LowClamp= " + vtcol.value("LowClamp") ); 
Application.LogMessage( "HighClamp= " + vtcol.value("HighClamp") );

See Also

FCurve

GetSource

GetKeyInfo



Autodesk Softimage v7.5