v5.0
指定されたサブディビジョンルールで細分割されたメッシュのジオメトリ描写、サブディビジョンのレベルおよび使用されている場合は不連続角を指定します。ジオメトリ
データは 1D 配列で戻され、次の値で構成されます。
1)頂点: x、y、z 値のポリゴン頂点 2D 配列(Nx3)。
2)ポリゴンデータ:順序付けられた、ポリゴン定義の配列。各ポリゴンはエレメントのリストによって定義され、ポリゴン定義の最初のエレメントにはポリゴンのインデックスの数を設定する必要があります。頂点の順序付けは、外側を向く法線を基準として反時計回りの順序付け(右手の法則)に従う必要があります。たとえば、それぞれ
4 つのインデックスを持つポリゴンの配列: {4,0,1,4,3,4,1,2,5,4... }
3)ポリゴン ノード標準配列: 各ポリゴン ノードに標準 X、Y、Z 値を含む·2D 配列。
4)各ポリゴンフェイスに対するポリゴンノード:各ポリゴンフェイスにおけるポリゴンノードの数の後に、対応するポリゴンノードのインデックスが続く
1D 配列。
注:C++ API 相当のPolygonMesh::GetGeometryAccessor関数は、必要なデータのみを取得できる(ゆえにこのデータへのアクセス効率を格段に向上させる)CGeometryAccessorオブジェクトを戻します。
oArray = PolygonMesh.GetApproximatedMesh( SubdivisionRule, SubdivisionLevel, UseDiscontinuity, DiscontinuityAngle ); |
1DArray
パラメータ | タイプ | 詳細 |
---|---|---|
SubdivisionRule | siSubdivisionRuleType | このパラメータには、アプロクシメーションに使用するサブディビジョンルールが含まれます。 |
SubdivisionLevel | Long | このパラメータには、アプロクシメーションに使用するサブディビジョンルールが含まれます。 |
UseDiscontinuity | Boolean | 不連続角を使用するかどうかを指定します。 |
DiscontinuityAngle | Double | 不連続角を指定します。 |
set oCube = ActiveSceneRoot.AddGeometry( "Cube","MeshSurface" ) set oGApprox = oCube.Properties.Find("geomapprox") MakeLocal oGApprox oGApprox.Parameters("gapproxmosl").value = 1 values = oCube.ActivePrimitive.Geometry.GetApproximatedMesh( _ oGApprox.Parameters("gapproxmosr").value,_ oGApprox.Parameters("gapproxmosl").value,_ oGApprox.Parameters("gapproxmoad").value,_ oGApprox.Parameters("gapproxmoan").value ) aVertices = values(0) aPolygonData = values(1) set oApproximatedCube = ActiveSceneRoot.AddPolygonMesh( aVertices, aPolygonData ) |