ControlPointCollection.Array

ControlPointCollection.Array operator

説明

この NURBS コンポーネントに対するコントロールポイントのArrayを戻します。3D オブジェクトのジオメトリ タイプに応じて、戻される配列は 2 次元または 3 次元になります。

コンポーネントが NurbsCurve の場合、[X,Y,Z,W]値の 2D 配列が戻されます。コンポーネントがNurbsSurfaceの場合は、3D 配列が戻されます。

注:配列要素にアクセスするためのインデックスは、ご使用の言語によって異なるのでご注意ください。これは、メモリ内での C++配列の並び方が SafeArray と異なるためです。

- C++:[U] [V] [X,Y,Z,W]

- スクリプト: [X,Y,Z,W] [V] [U]

C++ とスクリプト間でのメモリ マッピングの整合性を保つため、上に示すように SafeArray インデックスは常に C++ インデックスの逆になります。

C#構文

// get accessor

Object rtn = ControlPointCollection.Array;

// set accessor

ControlPointCollection.Array = Object;

VBScript の例

set oObject = ActiveSceneRoot.AddGeometry("Sphere","NurbsSurface")

set oNurbsSurfaceMesh = oObject.ActivePrimitive.Geometry

set oControlPoints = oNurbsSurfaceMesh.Surfaces(0).ControlPoints

aControlPoints = oControlPoints.Array

for i = lbound( aControlPoints, 1 ) to ubound( aControlPoints, 1 )

	for j = lbound( aControlPoints, 2 ) to ubound( aControlPoints, 2 )

		LogMessage aControlPoints(i,j,0)

		LogMessage aControlPoints(i,j,1)

		LogMessage aControlPoints(i,j,2)

		LogMessage aControlPoints(i,j,3)

	next

next