ActionDelta

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

継承

SIObject

ActionDelta

導入

v6.0

カテゴリ

Delta|Action|RefModel

詳細

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