ProjectItem.AddScriptedOp

導入

v4.0

詳細

新しいスクリプトオペレータを作成し、その出力をこのオブジェクトに接続します。スクリプトコードが指定されていない場合には、デフォルトの実装が使用されます。スクリプト言語は省略できます。指定しない場合には、現在のスクリプト言語のユーザプリファレンスが使用されます。

スクリプト 構文

oReturn = ProjectItem.AddScriptedOp( [Code], Inputs, [Name], [Language], [ConstructionMode] );

戻り値

CustomOperator

パラメータ

パラメータ タイプ 詳細
コード String スクリプトオペレータの実装を含むスクリプトコード
入力 List 入力ポートに接続するオブジェクトまたはパラメータのリスト
Name String 新しいオペレータの名前

デフォルト値: ScriptedOp

Language String 新しいスクリプトオペレータのスクリプト言語

デフォルト値:application.preferences.scripting.languageから取得した設定値

ConstructionMode siConstructionMode オペレータが作成されるコンストラクションスタックの位置。これは、Geometryオブジェクトに対して作成された出力接続にのみ適用されます。その他のすべての接続タイプではモードは無視されます。

デフォルト値:siConstructionModeDefault

JScript の例

/*
        This example creates a simple expression-like runtime scripted operator
        which constrains the rotation of one object to another
*/
NewScene( null, false );
var obj1 = GetPrim( "null" );
var obj2 = GetPrim( "null" );
var col = XSIFactory.CreateActiveXObject( "XSI.Collection" );
col.Add( obj1.Kinematics.Global );
col.Add( obj2.Kinematics.Global );
obj1.Kinematics.Global.AddScriptedOp( myexpr_Update.toString(), col, "myexpr", "JScript" );
function myexpr_Update( ctx, out, inglobal1, inglobal2 )
{
        var transfo = inglobal1.Value.Transform;
        var rot = XSIMath.CreateRotation();
        inglobal2.Value.Transform.GetRotation(rot);
        transfo.SetRotation( rot );
        out.Value.Transform = transfo;
}

関連項目

AddScriptedOp ConvertScriptedOp CustomOperator Parameter.Source ProjectItem.AddScriptedOpFromFile Parameter.AddScriptedOp Parameter.AddScriptedOpFromFile