Operator.Port

Operator.Port operator

説明

オペレータの指定されたPortオブジェクトを検索して戻します。スクリプトオペレータエディタを使用して作成されたスクリプトオペレータ(ランタイムスクリプトオペレータ)では PortGroupInstance(インデックス)引数が無視されます。それ以外のオペレータでは、PortGroup および PortGroupInstance を指定しない場合は、指定された名前で検索された最初のポートが戻されます。

注:Python ではプロパティ上の入力パラメータがサポートされていないので、このプロパティは失敗します。代わりにOperator.GetPort2メソッドを使用してください。

C#構文

// get accessor

Port Operator.get_Port( String in_bstrPort, String in_bstrPortGroup, Int32 in_lPortGroupInstance );

パラメータ

パラメータ タイプ 説明
Name String ポートの名前
PortGroup String ポートグループの名前

デフォルト値:""(空文字列)

PortGroupInstance Long ポートグループインスタンスのインデックス。この引数はランタイムオペレータには適用されません。ポートグループを指定していない場合、この引数は無視されます。

デフォルト値: 0

JScript の例

/*

	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;

}

//

関連項目

Operator.GetPort2