## XSIApplication.FCurveSelection

### Introduced

v6.0

### Description

Returns an FCurveCollection containing each FCurve objects with selected keys. The selected keys can be retrieved by calling FCurve.SelectedKeys on each fcurve in the Selection.

### C# Syntax

    // get accessor
    FCurveCollection rtn = XSIApplication.FCurveSelection;

### Examples

#### JScript Example

    /*
            This example illustrates how to get the fcurve key selection
    */
    // 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 );
    // Select some keys
    SelectKeysInTimespan(oPosX, siSetKeySelection, 2, 4, siInputParameters);
    // Get selected fcurves
    oFCurves = Application.FCurveSelection;
    // Print selected key information
    for (var i=0; i<oFCurves.Count; i++) {
            var keys = oFCurves(i).SelectedKeys;
            var msg = 'FCurve ' + i + ' has ' + keys.count + ' keys selected';
            if (keys.Count > 0) {
                    msg += ' at frames: [';
                    for (var j = 0; j < keys.Count; j++) {
                            if ( j > 0 ) { msg += ', '; }
                            msg += keys(j).Time;
                    }
                    msg += ']';
            }
            Application.LogMessage( msg, siInfo );
    }
    // Produces the following output:
    //
    //INFO : FCurve 0 has 3 keys selected at frames: [2, 3, 4]

### See Also

FCurve.SelectedKeys SelectKeysInTimespan