Value (ActionDeltaItem)

Description

Sets or returns the value of an ActionDeltaItem. Depending on the type of the ActionDeltaItem (see siModificationDeltaType), this property sets or returns different types of values:

- For siModificationDeltaFCurves, sets/returns FCurves

- For siModificationDeltaStaticValue, sets/returns Doubles

- Otherwise, sets/returns String

C# Syntax

// get accessor
Object ActionDeltaItem.get_Value();

// set accessor
ActionDeltaItem.set_Value( FCurve out_pvValue );

Examples

1. JScript Example

/*
   This example demonstrates how to set a value for ActionDeltaItem of type 
   siModificationTypeConstraints
*/

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");

// Create a sphere
var oSphere = oRoot.AddGeometry("Sphere", "MeshSurface");

// Translate the 
Translate(oCone, 3.0, 3.0, 0.0, siRelative, siView, siObj, siXYZ, null, null, null, null, null, null, null, null, null, 0, null);
Translate(oSphere, -2.0, -2.0, 0.0, siRelative, siView, siObj, siXYZ, null, null, null, null, null, null, null, null, null, 0, null);

ApplyCns("Position", oCube, oCone, null);

// Get the Delta object
var oDelta = Dictionary.GetObject("Model.Delta");

// Get the collection of the first ActionDelta
var oActionDeltaItemsColl = oDelta.ActionDeltas(0).Items;
for (var i=0; i<oActionDeltaItemsColl.Count; i++) {
    // Replace the cone as constraining object by the Sphere
    oActionDeltaItemsColl(i).Value = "Scene_Root." + oSphere.Fullname;
}

// Apply modification on the target reference asset container (the reference model)
oDelta.Apply()

// Reload the reference model to reset cube.kine.local.posx value
UpdateReferencedModel("Model");

2. JScript Example

/*
   This example demonstrates how get and set value for ActionDeltaItem of type siModificationDeltaFCurves
*/
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 an FCurve on the model local kine
SaveKey("Model.kine.local.posx,Model.kine.local.posy,Model.kine.local.posz", 1, null, null, null);

// Get the Delta object
var oDelta = Dictionary.GetObject("Model.Delta");

// Get the Fcurve in the ActionDeltaItem of type siModificationDeltaFCurves
var oFCurve = oDelta.ActionDeltas(0).Items(0).value;

// Define the number of keys
var nbkeys = 100;

// Start editing the fcurve
oFCurve.BeginEdit();

// Add keys to the fcurve
for (var i=0; i<nbkeys; i++) {
   val = (Math.sin( 1/(i+1) ) * 10);
   oFCurve.AddKey( i, val );
}

// End editing the fcurve and put the undo event onto 
// the undo/redo stack
oFCurve.EndEdit();

// Set the Fcurve in the ActionDeltaItem of type siModificationDeltaFCurves
oDelta.ActionDeltas(0).Items(0).value = oFCurve;

// Apply the change
oDelta.Apply();


Autodesk Softimage v7.5