GetKeyInfo

Description

Gets information for a function curve key.

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

GetKeyInfo( InputObj, Index, [Parameter], [LeftValue], [RightValue], [LeftTanParam], [LeftTanValue], [RightTanParam], [RightTanValue], [RightSegKind], Constraints )

Parameters

Parameter

Type

Description

InputObj

String

Component on which is connected a FCurve

Index

Integer

Index of a key. Keys are indexed from 0 to (nbKeys - 1).

Default Value: 0

Parameter [out]

Double

Returns the parameter value.

LeftValue [out]

Double

Returns the left value of the key.

RightValue [out]

Double

Returns the right value of the key.

LeftTanParam [out]

Double

Returns the left value of the tangent parameter for the key.

LeftTanValue [out]

Double

Returns the left value of the tangent for the key.

RightTanParam [out]

Double

Returns the right value of the tangent parameter for the key.

RightTanValue [out]

Double

Returns the right value of the tangent for the key.

RightSegKind [out]

Integer

Returns the segment type of the right side of the key.

Possible Values:

0: DEFAULT

1: CONSTANT

2: LINEAR

3: CUBIC

Constraints [out]

Integer

Constraints on the key. This value is a bitfield.

Possible Values:

0: No constraint.

1: Parameter is immutable.

2: Left and right values are immutable.

4: Function curve is G1 continuous at this key.

8: Left- and right-tangent directions are immutable.

16: Left- and right-tangent lengths are immutable.

32: Parameter, values, and tangents are immutable.

64: Tangents are considered horizontal.

128: Tangents are considered as horizontal when the key is a local extremum.

256: Tangents are adjusted automatically when neighbouring keys are created or moved.

Examples

VBScript Example

' create a null to hold animation
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 animation source of type FCurve
set collection = GetSource( "Null.kine.local.posx",siFCurveSource  )

for each fcurve in collection

   ' get fcurve info
       GetFCurveInfo fcurve, crvtype, nokeyval, nbKeys, extrap, segtype, lowclamp, highclamp

   LogMessage "FCurve: " & vbCR & vbLF & _
       "Type : " & crvtype & vbCR & vbLF & _
       "No Key Value : " & nokeyval& vbCR & vbLF & _
       "Num Keys : " & nbKeys& vbCR & vbLF & _
       "Extrapolation : " & extrap & vbCR & vbLF & _
       "Default Segment Type : " & segtype& vbCR & vbLF & _
       "Low Clamp : " & seglowclamp & vbCR & vbLF & _
       "High Clamp : " & highclamp & vbCR & vbLF

   for i = 0 to nbkeys - 1

       ' get fcurvekey info
       GetKeyInfo fcurve, i, parameter, leftval, rightval, lefttanparam, lefttanval, righttanparam, righttanval, rightsegkind, constraints
       LogMessage "Key: " & i & vbCR & vbLF & _
          "KeyParam : " & parameter & vbCR & vbLF & _
          "LeftValue: " & leftval & vbCR & vbLF & _
          "RightValue: " & rightval & vbCR & vbLF & _
          "LeftTanParam: " & lefttanparam & vbCR & vbLF & _
          "LeftTanValue: " & lefttanval & vbCR & vbLF & _
          "RightTanParam: " & righttanparam & vbCR & vbLF & _
          "RightTanValue: " & righttanval & vbCR & vbLF & _
          "RightSegKind: " & rightsegkind & vbCR & vbLF & _
          "Constraints: " & constraints & vbCR & vbLF
   next
next 
'INFO : "FCurve: 
'Type : 20
'No Key Value : -5
'Num Keys : 3
'Extrapolation : 1
'Default Segment Type : 3
'Low Clamp : 
'High Clamp : 1.79769313486232E+308
'"
'INFO : "Key: 0
'KeyParam : 3.33666666666667E-02
'LeftValue: -5
'RightValue: -5
'LeftTanParam: 0
'LeftTanValue: 0
'RightTanParam: 0.266933333333333
'RightTanValue: 0
'RightSegKind: 3
'Constraints: 260
'"
'INFO : "Key: 1
'KeyParam : 0.834166666666667
'LeftValue: 7
'RightValue: 7
'LeftTanParam: -0.266933333333333
'LeftTanValue: -1.14285714285714
'RightTanParam: 0.278055555555556
'RightTanValue: 1.19047619047619
'RightSegKind: 3
'Constraints: 260
'"
'INFO : "Key: 2
'KeyParam : 1.66833333333333
'LeftValue: 2
'RightValue: 2
'LeftTanParam: -0.278055555555556
'LeftTanValue: 0
'RightTanParam: 0
'RightTanValue: 0
'RightSegKind: 3
'Constraints: 260
'"

See Also

FCurveKey

GetFCurveInfo

GetSource



Autodesk Softimage v7.5