オペレータの指定されたPortオブジェクトを検索して戻します。スクリプトオペレータエディタを使用して作成されたスクリプトオペレータ(ランタイムスクリプトオペレータ)では PortGroupInstance(インデックス)引数が無視されます。それ以外のオペレータでは、PortGroup および PortGroupInstance を指定しない場合は、指定された名前で検索された最初のポートが戻されます。
注:Python ではプロパティ上の入力パラメータがサポートされていないので、このプロパティは失敗します。代わりにOperator.GetPort2メソッドを使用してください。
// get accessor Port Operator.get_Port( String in_bstrPort, String in_bstrPortGroup, Int32 in_lPortGroupInstance ); |
パラメータ | タイプ | 説明 |
---|---|---|
Name | String | ポートの名前 |
PortGroup | String |
ポートグループの名前 デフォルト値:""(空文字列) |
PortGroupInstance | Long |
ポートグループインスタンスのインデックス。この引数はランタイムオペレータには適用されません。ポートグループを指定していない場合、この引数は無視されます。
デフォルト値: 0 |
/* The following code illustrates how to get the port from an operator if you know its name. */ NewScene( null, false ); var oObject = ActiveSceneRoot.AddGeometry("Sphere","MeshSurface"); apply_deform( oObject ); var oDeformOperator = oObject.ActivePrimitive.ConstructionHistory.Find( "MyDeform" ); var oPort = oDeformOperator.Port("InGeom","MainGroup",0); var oInputGeometry = oPort.Target2; Application.LogMessage( oDeformOperator.Name + " is reading from the " + oInputGeometry.FullName ); function apply_deform( oObject ) { var op = XSIFactory.CreateScriptedOp( "MyDeform", MyDeform_Update.toString(), "JScript" ); // Define connections var group = op.AddPortGroup( "MainGroup" ); var ioport = op.AddIOPort( oObject.ActivePrimitive, "Geom", group.Index ); // Define parameters var pdef = XSIFactory.CreateParamDef2( "Factor", siDouble, 0.5, 0, 1 ); op.addparameter(pdef); // Connect operator op.Connect(oObject); } function MyDeform_Update( ctx, out, InGeom ) { // Get the factor. var dFactor = ctx.Parameters("Factor").Value // Get the array of point positions. var aPnts = InGeom.Value.Geometry.Points.PositionArray.toArray(); // Deform geometry // Update the object//s point positions. out.Value.Geometry.Points.PositionArray = aPnts; return; } // |