ActionDelta

Object Hierarchy | 関連する C++クラス:ActionDelta

継承

SIObject

ActionDelta

導入

v6.0

詳細

ActionDelta オブジェクトは、リファレンスモデルの一部であるパラメータに加えられた変更を追跡します。すべての ActionDelta には、1 つまたは複数の ActionDeltaItem(それぞれが参照されるパラメータへの 1 つの変更を表す)が含まれます。各 ActionDelta オブジェクトは特定のタイプ(siModificationDeltaTypeを参照)に設定されており、その中に含まれる各 ActionDeltaItem も同じタイプになります。

ActionDeltas はDeltaActionDeltaCollection)に格納されており、Delta.ActionDeltas プロパティを使用してアクセスできます。既存のデルタプロジェクトに新しい ActionDelta を追加する場合は、Delta.AddActionを使用します。

メソッド

AddConstraintItem AddExpressionItem AddFCurveItem AddStaticValueItem
IsClassOfオペレータ IsEqualToオペレータ RemoveAllItems RemoveItem

プロパティ

Application Categories FullNameオペレータ Help
Items Nameオペレータ NestedObjects Origin
OriginPath Parent Typeオペレータ  
       

1. JScript の例

/*

	This example demonstrates how to add an ActionDeltaItem of type siModificationDeltaConstraint to a ActionDelta.

*/

NewScene (null, false);

// Create a reference model from a cube

var oRoot = Application.ActiveProject.ActiveScene.Root;

var oCube = oRoot.AddGeometry("Cube","MeshSurface");

var emdlFileRefModel = XSIUtils.BuildPath(Application.InstallationPath(siProjectPath), "Models", "MyModel.emdl"); 

CreateModelAndConvertToRef(oCube, emdlFileRefModel );

// Create a cone

var oCone = oRoot.AddGeometry("Cone","MeshSurface");

Translate(oCone, 3.20, 0.00, 1.65, siRelative, siView, siObj, siXYZ, null, null, null, null, null, null, null, null, null, 0, null);

// Add the Delta object

var oDelta = AddDelta(oCube.Model);

// Add an action of type siModificationDeltaConstraint

var oActionDelta = oDelta.AddAction(siModificationDeltaConstraint);

// Add the fcurve item

var oActionDeltaItems = oActionDelta.AddConstraintItem("Position",oCube,oCone);

for(var i=0; i<oActionDeltaItems.Count; i++) {

	Application.LogMessage ( " The item " +  oActionDeltaItems(i).Name + " is active: " + oActionDeltaItems(i).Mute );

}

// Apply modification

oDelta.Apply();

// Output of above script:

//INFO :  The item cube.kine.global.sclx is active: true

//INFO :  The item cube.kine.global.scly is active: true

//INFO :  The item cube.kine.global.sclz is active: true

//INFO :  The item cube.kine.global.rotx is active: true

//INFO :  The item cube.kine.global.roty is active: true

//INFO :  The item cube.kine.global.rotz is active: true

//INFO :  The item cube.kine.global.posx is active: false

//INFO :  The item cube.kine.global.posy is active: false

//INFO :  The item cube.kine.global.posz is active: false

2. JScript の例

/*

	This example demonstrates how to get the type of the item.

*/

NewScene (null, false);

// Create a reference model from a cube

var oRoot = Application.ActiveProject.ActiveScene.Root;

var oCube = oRoot.AddGeometry("Cube","MeshSurface");

var emdlFileRefModel = XSIUtils.BuildPath(Application.InstallationPath(siProjectPath), "Models", "MyModel.emdl"); 

CreateModelAndConvertToRef(oCube, emdlFileRefModel );

// Add the Delta object

var oDelta = AddDelta(oCube.Model);

// Add an action of type siModificationDeltaStaticValue

var oDeltaAction = oDelta.AddAction(siModificationDeltaStaticValue)

// Add a static value item	

oDeltaAction.AddStaticValueItem ( oCube + ".kine.global.posx",  10 );

// Get the first ActionDeltaItem in the first ActionDelta

var oActionDelta = oDelta.ActionDeltas(0);

// Print the type

Application.LogMessage(oActionDelta.Type);

// Output of above script:

//INFO : siModificationDeltaStaticValue