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 |
FCurve animation source. |
|
|
CurveKind [out] |
Returns the type of function curve. Possible Values: • 0: UNKNOWN • 10: BOOLEAN • 15: INTEGER • 20: STANDARD • 30: RAWDATA |
|
|
ValueWhenNoKey [out] |
Returns the value of the function curve when it has no keys. |
|
|
NbKeys [out] |
Returns the number of keys. |
|
|
ExtrapolationKind [out] |
Returns the extrapolation type of the function curve. Possible Values: • 1: CONSTANT • 2: LINEAR • 3: PERIODIC |
|
|
DefaultSegKind [out] |
Returns the default segment kind. Applies to standard function curves. Possible Values: • 0: DEFAULT • 1: CONSTANT • 2: LINEAR • 3: CUBIC |
|
|
LowClamp [out] |
Returns the lower-clamping value. |
|
|
HighClamp [out] |
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
Autodesk Softimage v7.5