この 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++ インデックスの逆になります。
// get accessor Object rtn = ControlPointCollection.Array; // set accessor ControlPointCollection.Array = Object; |
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 |