NurbsSurfaceMesh.GetSubSurfaceIndexArray operator

導入

v5.0

詳細

ポイントロケータが定義されているサブサーフェイスインデックスを戻します。

この情報はNurbsSurfaceMeshポイントロケータ定義の一部であり、トポロジにのみ影響されます(ジオメトリが変形しても更新されません)。

サブサーフェイス内の正規化された UV パラメータは NurbsSurfaceMesh.GetNormalizedUVArray を使用してクエリできます。

C#構文

Object NurbsSurfaceMesh.GetSubSurfaceIndexArray( PointLocatorData in_pPtLocators, Object in_pPointLocatorsIndices );

スクリプト構文

oArray = NurbsSurfaceMesh.GetSubSurfaceIndexArray( PtLocators, [PointLocatorsIndices] );

戻り値

ポイントロケータインデックスの 1DArray

パラメータ

パラメータ タイプ 説明
PtLocators PointLocatorData ポイントロケータは記述されます。
PointLocatorsIndices 1DArray 記述するポイントロケータのインデックス(無指定の場合はすべてのポイントロケータが対象となります)。

JScript の例

/* 

	This example topologically describes the point locators resulting 

	from the shrink-wrapping of a cube onto a NURBS surface sphere.

*/

NewScene( null, false );

var root = Application.ActiveSceneRoot;

var CubePositionArray = root.AddGeometry("Cube", "MeshSurface").ActivePrimitive.Geometry.Points.PositionArray;

var NurbsSphereGeom = root.AddGeometry("Sphere", "NurbsSurface").ActivePrimitive.Geometry;

var CubeOnSpherePointLocators = NurbsSphereGeom.GetClosestLocations(CubePositionArray);

var PtLocIndices = new Array(1);

for(i = 0; i < CubeOnSpherePointLocators.Count; i++)

{

	PtLocIndices[0] = i;

	var PtLocSubSurf = NurbsSphereGeom.GetSubSurfaceIndexArray(

					CubeOnSpherePointLocators,

					PtLocIndices).toArray();

	var PtLocUVs = NurbsSphereGeom.GetNormalizedUVArray(

					CubeOnSpherePointLocators,

					PtLocIndices).toArray();

	logmessage("Point locator " + i + " is on subsurface " + PtLocSubSurf[0] +

		" at {U = " + PtLocUVs[0] + " , V = " + PtLocUVs[1] + "}.");

}

// Expected results:

//INFO : Point locator 0 is on subsurface 0 at {U = 1.3552785236419922e-16 , V = 0.3042299747467041}.

//INFO : Point locator 1 is on subsurface 0 at {U = 0.75 , V = 0.3040647506713867}.

//INFO : Point locator 2 is on subsurface 0 at {U = 2.4521901608032514e-17 , V = 0.6954541206359863}.

//INFO : Point locator 3 is on subsurface 0 at {U = 0.75 , V = 0.6959285140037537}.

//INFO : Point locator 4 is on subsurface 0 at {U = 0.25 , V = 0.3040647506713867}.

//INFO : Point locator 5 is on subsurface 0 at {U = 0.5 , V = 0.3040647506713867}.

//INFO : Point locator 6 is on subsurface 0 at {U = 0.25 , V = 0.6959285140037537}.

//INFO : Point locator 7 is on subsurface 0 at {U = 0.5 , V = 0.6959285140037537}.

関連項目

PointLocatorData Geometry Geometry.GetClosestLocations Geometry.GetClosestLocationsWithinRadius Geometry.GetRaycastIntersections Geometry.SetupPointLocatorQueries Geometry.GetSurfacePointLocatorsFromPoints Geometry.EvaluatePositions Geometry.EvaluateNormals Geometry.EvaluateClusterProperty PolygonMesh.GetPolygonIndexArray PolygonMesh.GetTriangleVertexIndexArray PolygonMesh.GetTriangleNodeIndexArray PolygonMesh.GetTriangleWeightArray PolygonMesh.ConstructPointLocators NurbsSurfaceMesh.GetNormalizedUVArray NurbsSurfaceMesh.ConstructPointLocators