v4.0
カスタムオペレータにInputPortを追加します。
注:CustomOperator を定義する場合は、入力ポートの前に出力ポートを追加すると便利です。これにより、Softimage
が正しく入力/出力ポートを特定できるようになります。
oReturn = CustomOperator.AddInputPort( PortTarget, [PortName], [PortGroup], [InsertAt], [Flags] ); |
新しく作成されたInputPort
パラメータ | タイプ | 詳細 |
---|---|---|
PortTarget | Variant | ポートに接続するオブジェクトまたはオブジェクトのフルネーム。Softimage はオブジェクトのフルネームを記憶しますが、別のオブジェクトに接続するときに上書きされます(Operator.ConnectおよびOperator.ConnectToGroupを参照)。 |
PortName | String | ポートの名前。
デフォルト値: デフォルト名は「In」+ 接続するオブジェクトの Parameter.ScriptName です。たとえば、「Inposx」などになります。 |
PortGroup | Long | ポートグループのインデックス
デフォルト値: -1 |
InsertAt | Long | 特定インデックスのポートのインデックス(実装されていません)
デフォルト値: -1 |
フラグ | Long | siPortFlagsにより記述されたポートグループフラグのマスク
デフォルト値: 0 |
/* This example illustrates how to use the AddInputPort method to define an input port. */ NewScene( null, false ); var obj = CreatePrim( "Cube", "MeshSurface"); var sop = XSIFactory.CreateScriptedOp( "MyOperator", MyOperator_Update.toString(), "JScript" ) var group1 = sop.AddPortGroup( "MainGroup" ); sop.AddOutputPort( obj.ActivePrimitive, "OutPolygonMesh", group1.Index ); sop.AddInputPort( "cube.polymsh", "InPolygonMesh", group1.Index ); sop.Connect(); // The operator's update function function MyOperator_Update( ctx, out, in1 ) { Application.LogMessage( "MyOperator_Update: " + out.Value ); var aPos = in1.Value.Geometry.Points.PositionArray.toArray(); out.Value.Geometry.Points.PositionArray = aPos; } |