FCurveKeyCollection.Add

Introduced

v6.0

Description

Adds an FCurveKey to an existing collection. The key will be added to the collection if it belongs to the same FCurve as the other keys in the collection and it is not already in the collection. The index of the key is returned or -1 if the key was not added to the collection. FCurveKeyCollection is a sorted collection where the keys are sorted in ascending order by parameter.

Scripting Syntax

oLong = FCurveKeyCollection.Add( Key );

Return Value

Long

Parameters

Parameter Type Description
Key FCurveKey Key to add to this collection

Examples

JScript Example

// 
// This example illustrates how to add a key to an existing FCurveKeyCollection.
// Create a new scene
NewScene(null, false);
// Create a null
oNull = Application.GetPrim("Null");
// Get the posx parameter of the null
oPosX = oNull.posx
// Create array of time-value pairs
aKeys = new Array( 0.00, 5.00,
                                1.00, 6.00,
                                2.00, 7.00,
                                3.00, 8.00,
                                4.00, 9.00,
                                5.00, 10.00 );
// Create an empty FCurve
oFCurve = oPosX.AddFCurve2( null, siStandardFCurve );
// Set the fcurve keys
oFCurve.SetKeys( aKeys );
// Get an empty key collection
var keys = XSIFactory.CreateFCurveKeyCollection();
// Add first and last keys to the new collection
keys.Add( oFCurve.Keys(oFCurve.Keys.Count-1) );
keys.Add( oFCurve.Keys(0) );
// Print out the contents of the collection
for (var i = 0; i < keys.Count; i++) 
{
        Application.LogMessage( 'Time: ' + keys(i).Time + ', Value: ' + keys(i).Value, siInfo );
}
// Produces the following output:
//
//INFO : Time: 0, Value: 5
//INFO : Time: 5, Value: 10

See Also

FCurveKeyCollection.AddItems FCurveKeyCollection.Remove FCurveKeyCollection.RemoveAt