Softimage SDK Programmer's Guide > Plug-in Development > Working with Return Values and Output Arguments > Examples of Handling Return Values and Output Arguments >

# 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.