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++ インデックスの逆になります。

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