IDirect3DRMPicked2Array

ピックオブジェクトをグループ化し、より多くの情報を返すには、アプリケーションは、IDirect3DRMPicked2Arrayインターフェイスのメソッドを利用する。ピックの詳細については、「IDirect3DRMPickedArray」を参照すること。

IDirect3DRMFrame3::RayPickメソッドを使用して、IDirect3DRMPicked2Arrayインターフェイスを取得する。次に、IDirect3DRMPicked2Array::GetPickメソッドを呼び出して、IDirect3DRMFrameArrayインターフェイス、ビジュアルオブジェクト、および光線が交差するオブジェクトに関する情報を取得することができる。この情報には、面とグループの識別子、ピック位置、およびオブジェクトの頂点、頂点法線、色に対する水平と垂直テクスチャ座標が含まれる。フレームの配列は、ビジュアルオブジェクトに通じる階層へのパスである。

IDirect3DRMPicked2Array::GetPickによって返されるD3DRMPICKDESC2構造体には、面やグループの識別子、ピックの位置、頂点の水平および垂直テクスチャ座標、頂点の法線および交差したオブジェクトの色が含まれている。このインターフェイスポインタへのポインタは、光線のピック中にIDirect3DRMFrame3::RayPickメソッドで返される。

IDirect3DRMPicked2Arrayインターフェイスは、次のメソッドをサポートする。
GetPick
GetSize

すべてのCOMインターフェイスと同様、IDirect3DRMPicked2ArrayインターフェイスはIUnknownインターフェイスメソッドを継承する。IUnknownインターフェイスは、以下の3つのメソッドをサポートする。
AddRef
QueryInterface
Release

Direct3DRMPicked2Arrayオブジェクトは、IDirect3DRMFrame3::RayPickメソッドの呼び出しによって取得される。

IDirect3DRMPicked2Array::GetPick

IDirect3DRMPicked2Array

指定されたピックによって交差するDirect3DRMVisualとDirect3DRMFrameオブジェクトを取得する。

構文

HRESULT GetPick(
  DWORD index,
  LPDIRECT3DRMVISUAL *lplpVisual,
  LPDIRECT3DRMFRAMEARRAY *lplpFrameArray,
  LPD3DRMPICKDESC2 lpD3DRMPickDesc2
  );

パラメータ

index
情報を取得するピックを識別する、ピック配列へのインデックス。
lplpVisual
指定されたピックに関連付けられたDirect3DRMVisualオブジェクトのポインタのアドレス。
lplpFrameArray
指定されたピックに関連付けられたDirect3DRMFrameArrayオブジェクトのポインタのアドレス。
lpD3DRMPickDesc
面やグループの識別子、ピックの位置、頂点の水平および垂直テクスチャ座標、頂点の法線および交差したオブジェクトの色が指定するD3DRMPICKDESC2構造体へのアドレス。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

注意

このメソッドは、D3DRMPICKDESC構造体ではなくD3DRMPICKDESC2構造体中のu値とv値を取得する点を除けば、IDirect3DRMPickedArray::GetPickと類似している。

参照

IDirect3DRMFrame3::RayPick

IDirect3DRMPicked2Array::GetSize

IDirect3DRMPicked2Array

Direct3DRMPicked2Arrayオブジェクトに含まれている要素数を取得する。

構文

DWORD GetSize( );

戻り値

要素数を返す。


トップに戻る トップに戻る
© 1999 Microsoft and/or its suppliers. All rights reserved. Terms of Use.