FCurve.EndEdit

導入

v3.0

詳細

F カーブに対して実行した一括編集の記録を停止し、変更をアンドゥ/リドゥスタックに格納します。EndEdit の呼び出しは、FCurve.BeginEdit の呼び出しの後である必要があります。

注:一括編集が実行されていない場合に EndEdit を呼び出すと、エラーが発生します。一括編集が実行中か確認するには、FCurve.IsEditing メソッドを使用します。

C#構文

FCurve.EndEdit();

スクリプト構文

FCurve.EndEdit();

JScript の例

/*

	This JScript example illustrates how to use the editing recording feature

	of fcurves. This allows changes to be committed only after all edits have 

	been completed and undone if necessary.

*/

// Create a null

Application.NewScene( null, false );

var nullobj = ActiveSceneRoot.AddNull();

// Create an fcurve on the posx parameter from the null

var fc = nullobj.posx.AddFCurve();

// Define a random number of keys

var nbkeys = Math.round( Math.random() * 100 ) 

LogMessage( nbkeys );

var arraysize = nbkeys * 2;

var keys = new Array( 2 * nbkeys );

var i = 0, empty;

var offset = -50;

for ( i=0; i<arraysize; i+=2 )

{

	keys[i] = offset + i;

	keys[i+1] = ( Math.cos( (i + 1) / 10 ) * 50 );

}

// Set the keys on the fcurve

fc.SetKeys(keys);

// Begin recording changes to fcurve

fc.BeginEdit();

if ( fc.IsEditing() )

{

	LogMessage( "fcurve is recording changes" );

}

// Assign random values to keys

for ( i=0; i<fc.GetNumKeys(); i++ )

{

	// Assign a random value to keys

	fc.Keys(i).Value = ( Math.random() * 100 ) - 50;

}

// If the number of keys if greater than 50 then undo all the 

// changes you just made

nbkeys = fc.GetNumKeys();

if ( nbkeys> 50 )

{

	Application.LogMessage( "undoing changes" );

	fc.undoedit();

}

nbkeys = fc.GetNumKeys();

LogMessage( "total number of keys = " + nbkeys );

// End editing (not necessary to call if changes were undone)

fc.EndEdit();

if ( !fc.IsEditing() )

{

	LogMessage( "fcurve has finished recording changes" );

}

// Outputs:

//INFO : 87

//INFO : fcurve is recording changes

//INFO : undoing changes

//INFO : total number of keys = 87

//INFO : fcurve has finished recording changes

関連項目

FCurve.BeginEdit FCurve.UndoEdit FCurve.IsEditing