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.

C# Syntax

Int32 FCurveKeyCollection.Add( FCurveKey in_pVal );

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