VBScript Example: Output Arguments vs. the ISIVTCollection

 
 
 

The following VBScript example compares Output Arguments and Output Argument Arrays and how they differ:

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 )
set fcurve = source(0)

' First the get the FCurve info using output arguments
GetFCurveInfo fcurve, crvtype, nokeyval, keys, extrap, seq, lowclamp, highclamp

' Then get the FCurve info using an output argument array
set oIVTColl = GetFCurveInfo( fcurve )
logmessage "Number of arguments available in the collection: " & oIVTColl.count

' Then compare the results of both
logmessage "CurveKind: " & oIVTColl( "CurveKind" ) & " = " & crvtype
logmessage "ValueWhenNoKey: " & oIVTColl( "ValueWhenNoKey" ) & " = " & nokeyval
logmessage "NbKeys: " & oIVTColl( "NbKeys" ) & " = " & keys
logmessage "ExtrapolationKind: "& oIVTColl( "ExtrapolationKind" ) & " = " & extrap
logmessage "DefaultSegKind: " & oIVTColl( "DefaultSegKind" ) & " = " & se
logmessage "LowClamp: " & oIVTColl( "LowClamp" ) & " = " & lowclamp
logmessage "HighClamp: " & oIVTColl( "HighClamp" ) & " = " & highclamp

' ---------------------------------------------------------------------------
' Output of above script:
'INFO : "Number of arguments available in the collection: 7"
'INFO : "CurveKind: 20 = 20"
'INFO : "ValueWhenNoKey: -5 = -5"
'INFO : "NbKeys: 3 = 3"
'INFO : "ExtrapolationKind: 1 = 1"
'INFO : "DefaultSegKind: 3 = 3"
'INFO : "LowClamp: -1.79769313486232E+308 = -1.79769313486232E+308"
'INFO : "HighClamp: 1.79769313486232E+308 = 1.79769313486232E+308"
Note

The GetFCurveInfo command specifically uses output arguments. This comparison would not be possible, for example, with the CreateToolbar command, which only uses one return value and no output arguments.

Creative Commons License Except where otherwise noted, this work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License