Port

Object Hierarchy | 関連する C++クラス:Port

継承

SIObject

Port

導入

v1.5

詳細

ポートは、他のオブジェクトへの InputPort コネクションまたは OutputPort コネクションです。ポートはオペレータ上接続ポイントとよく似ており、実際に他のオブジェクトと接続されるとは限りません(一部のオペレータポートはオプションです)。

このポートの名前は、SIObject.Name を使用して取得できます。

メソッド

IsClassOfオペレータ IsEqualToオペレータ    
       

プロパティ

Application BranchGroupオペレータ Categories Flagsオペレータ
FullNameオペレータ GroupIndexオペレータ GroupInstanceオペレータ GroupNameオペレータ
Help Indexオペレータ IsConnected Nameオペレータ
NestedObjects Origin OriginPath Parent
PortTypeオペレータ Targetオペレータ Target2オペレータ TargetPathオペレータ
Typeオペレータ      
       

JScript の例

/*

	This example illustrates how to generate a mesh by using the loft operator and

	a number of input curves. The code also illustrates how to traverse the operator's

	port group, port group instances and ports and logs the name of the port, its type

	and the full path name of the object connected to the port.

*/

NewScene( null, false );

var arc = Application.ActiveSceneRoot.AddGeometry( "Arc", "NurbsCurve" );

// Duplicate arc 4 times and translate in y

var args = new Array(19);

args[0] = arc;					// source object

args[1] = 4;						// number of copies

args[9] = siApplyRepeatXForm;			// Xform

args[18] = 1;					// Ty

var objs = Application.ExecuteScriptCommand( "Duplicate", args );

// Create array containing arc and duplicates

var aobjs = new Array( 5 )

aobjs[0] = arc;

for ( var i = 0; i < objs.count; i++ ) aobjs[i+1] = objs(i);

// Apply loft operator

var op = ApplyOp( "Loft", aobjs )(0);

// Traverse port group, instances and ports and 

// log port connections

// For each port group ...

for ( var idxGroup = 0; idxGroup < op.GetNumPortGroups(); idxGroup++ )

{

	// For each instance in a port group ...

	for ( var idxInstance = 0; idxInstance < op.GetNumInstancesInGroup( idxGroup ); idxInstance++ )

	{

		// For each port in a  port group instance ...

		for ( var idxPort = 0; idxPort < op.GetNumPortsInGroup( idxGroup ); idxPort++ )

		{

			// Get a specific port

			var port = op.PortAt( idxPort, idxGroup, idxInstance );

			// If the port is an input port ...

			if ( port.PortType == siPortInput )

				porttypestr = "input"

			else if ( port.PortType == siPortOutput )

				porttypestr = "output"

			else

				porttypestr = "error"

			var target = port.Target2;

			// ... and the connected type is an object connection

			if ( typeof(target) == "object" )

			{

				Application.LogMessage( op.Name + " group:" + port.GroupIndex + " " + " instance:" 

							+ port.GroupInstance + " " + porttypestr + "port:" + port.Index 

							+ ":" + target.FullName );

			}

		} 

	}

}

//INFO : "Loft group:0  instance:0 inputport:0:arc.crvlist"

//INFO : "Loft group:0  instance:0 inputport:1:arc.kine.global"

//INFO : "Loft group:0  instance:1 inputport:0:arc1.crvlist"

//INFO : "Loft group:0  instance:1 inputport:1:arc1.kine.global"

//INFO : "Loft group:0  instance:2 inputport:0:arc2.crvlist"

//INFO : "Loft group:0  instance:2 inputport:1:arc2.kine.global"

//INFO : "Loft group:0  instance:3 inputport:0:arc3.crvlist"

//INFO : "Loft group:0  instance:3 inputport:1:arc3.kine.global"

//INFO : "Loft group:0  instance:4 inputport:0:arc4.crvlist"

//INFO : "Loft group:0  instance:4 inputport:1:arc4.kine.global"

//INFO : "Loft group:1  instance:0 inputport:0:surfmsh.kine.global"

//INFO : "Loft group:1  instance:0 outputport:1:surfmsh.surfmsh"