
オペレータの指定された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;
}
// |