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.