v6.0
Extends the fcurve to include the given number of cycles before/after.
The cycle length is defined by the start/end keys and the
current extrapolation for the fcurve (FCurve.Extrapolation)
is taken into account when generating the new cycles. Therefore, the
method will fail if the fcurve has less than two keys.
FCurve.ExtendCycle( Int32 in_CyclesBefore, Int32 in_CyclesAfter ); |
FCurve.ExtendCycle( [CyclesBefore], [CyclesAfter] ); |
Parameter | Type | Description |
---|---|---|
CyclesBefore | Long |
The number of cycles to extend before the fcurve. Default Value: 0 |
CyclesAfter | Long |
The number of cycles to extend after the fcurve. Default Value: 0 |
// // This example illustrates how to extend an fcurve to include cycles before/after // 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 ); // Set the extrapolation for this fcurve oFCurve.Extrapolation = siPeriodicRelativeExtrapolation; Application.LogMessage( 'Before ExtendCycle:', siInfo ); for (var i = 0; i < oFCurve.Keys.Count; i++) { Application.LogMessage( 'Time: ' + oFCurve.Keys(i).Time + ', Value: ' + oFCurve.Keys(i).Value, siInfo ); } // Extend one cycle before and after oFCurve.ExtendCycle( 1, 1 ); Application.LogMessage( 'After ExtendCycle:', siInfo ); for (var i = 0; i < oFCurve.Keys.Count; i++) { Application.LogMessage( 'Time: ' + oFCurve.Keys(i).Time + ', Value: ' + oFCurve.Keys(i).Value, siInfo ); } // Produces the following output: // //INFO : Before ExtendCycle: //INFO : Time: 0, Value: 5 //INFO : Time: 1, Value: 6 //INFO : Time: 2, Value: 7 //INFO : Time: 3, Value: 8 //INFO : Time: 4, Value: 9 //INFO : Time: 5, Value: 10 //INFO : After ExtendCycle: //INFO : Time: -5, Value: 0 //INFO : Time: -4, Value: 1 //INFO : Time: -3, Value: 2 //INFO : Time: -2, Value: 3 //INFO : Time: -1, Value: 4 //INFO : Time: 0, Value: 5 //INFO : Time: 1, Value: 6 //INFO : Time: 2, Value: 7 //INFO : Time: 3, Value: 8 //INFO : Time: 4, Value: 9 //INFO : Time: 5, Value: 10 //INFO : Time: 6, Value: 11 //INFO : Time: 7, Value: 12 //INFO : Time: 8, Value: 13 //INFO : Time: 9, Value: 14 //INFO : Time: 10, Value: 15 |