v4.0
 カスタムオペレータにInputPortを追加します。
注:CustomOperator を定義する場合は、入力ポートの前に出力ポートを追加すると便利です。これにより、Softimage が正しく入力/出力ポートを特定できるようになります。
| InputPort CustomOperator.AddInputPort( Object in_PortTarget, String in_PortName, Int32 in_portgroup, Int32 in_InsertAt, Int32 in_flags ); | 
| 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 | 
| Flags | 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;
} |