class CFloor

【概要】
 床当たり判定付きのメッシュデータ。CWall の拡張クラス。

 CWall を拡張している為、CWallの機能もすべて使用可能である。

重要度メソッド名 解説アクセス
CFloor(CD3DEnv *pEnv, TCHAR *fname)
コンストラクタ
public
~CFloor()
デストラクタ
public
virtual void
Render(LPDIRECT3DDEVICE9 lpd3ddev)
モデルデータをグラフィックデバイスに対して描画する。
public
BOOL
ProbeTheGroundAltitude(D3DXVECTOR3 *pVec, D3DXVECTOR3 *pBoxMin, D3DXVECTOR3 *pBoxMax, D3DXVECTOR3 *pVecNormal, FLOAT *pAlt, FLOAT *pDist)
指定された地点の高度を返す。裏向きのポリゴンとも当たり判定を行う。
public
BOOL
ProbeTheGroundAltitudeOneSide(D3DXVECTOR3 *pVec, D3DXVECTOR3 *pBoxMin, D3DXVECTOR3 *pBoxMax, D3DXVECTOR3 *pVecNormal, FLOAT *pAlt, FLOAT *pDist)
指定された地点の高度を返す。裏向きのポリゴンとは当たり判定を行なわない。
public
void
SetWorldMatrix(D3DXMATRIX *pMat)
地形を表示する際に使用するワールド行列を指定する。
public
virtual void
GetObjectCenter( D3DXVECTOR3 *pPos)
モデルデータの中心点をローカル座標で返す。
public
virtual void
GetBoundingBox(D3DXVECTOR3 *pMin, D3DXVECTOR3 *pMax)
モデルデータを囲む最小の矩形を返す。座標はローカル座標で表される。
public
virtual float
GetRadius()
モデルデータを囲む最小の球の半径を返す。
public
virtual HRESULT
GetVertexBuffer(LPDIRECT3DVERTEXBUFFER9 *ppVB)
モデルデータを表現する頂点バッファを返す。
public
virtual HRESULT
GetIndexBuffer(LPDIRECT3DINDEXBUFFER9 *ppIB)
GetIndexBufferが返す頂点バッファに対応するインデックスバッファを返す。
public
virtual DWORD
GetFVF()
モデルデータで使用されている頂点フォーマットを返す。
public
virtual DWORD
GetNumVertices()
モデルデータで使用されている頂点の数を返す。
public
virtual DWORD
GetNumFaces()
モデルデータで使用されている面の数を返す。
public

※重要度の意味:

◎これを知らないとこのライブラリを使えないレベル。
○知っておいたほうが良いレベル。
△知らなくても支障は無いレベル。


CFloor(CD3DEnv *pEnv, TCHAR *fname)

引数:pEnv:このメッシュオブジェクトが使用する描画環境へのポインタ。
fName:ファイルネームを示す文字列へのポインタ(実行ファイルからの相対パス)。


コンストラクタ。ファイルネームが示すメッシュを読み込む様に、本クラスを初期化する。 実際にはクラスを生成した時点ではファイルは読み込まれないので、描画環境に対して、 ReloadGraphics()などで明示的に読み込み指示をする必要がある。


~CFloor()

デストラクタ


virtual void Render(LPDIRECT3DDEVICE9 lpd3ddev)

引数: lpd3ddev 描画に使用するDirect3D9 デバイス。

引数に指定された Direct3D9 デバイスに対して描画を行う。
ワールド行列やビュー行列については、このメソッド呼び出しの前に設定しておく必要がある。


virtual void GetObjectCenter( D3DXVECTOR3 *pPos)

引数: pPos D3DXVECTOR3 型のデータへのポインタ。
返値: なし。
引数に指定されたポインタが指すデータに対して、このモデルの中心座標を返す。
座標はローカル座標で示されるので、必要に応じて変換が必要。


virtual void GetBoundingBox(D3DXVECTOR3 *pMin, D3DXVECTOR3 *pMax)

引数:pMin:矩形の最小値側を指すD3DXVECTOR3 型データへのポインタ。
pMax:矩形の最大値側を指すD3DXVECTOR3 型データへのポインタ。
返値: なし。

引数に指定されたポインタが指すデータに対して、このモデルを囲む最小の矩形を返す。
座標はローカル座標で示されるので、必要に応じて変換が必要。


virtual float GetRadius()

引数: なし。
返値: このモデルの半径。

このモデルを囲む最小の球の半径を返す。


virtual HRESULT GetVertexBuffer(LPDIRECT3DVERTEXBUFFER9 *ppVB)

引数: ppVB : 頂点バッファを受け取るポインタを示すポインタ。
返値: 成功したら、S_OK。

このモデルを表現する頂点バッファを返す。 頂点バッファへのリファレンスカウントがインクリメントされる為、 使用終了後、速やかに Release しなければならない。


virtual HRESULT GetIndexBuffer(LPDIRECT3DINDEXBUFFER9 *ppIB)

引数: ppIB : インデックスバッファを受け取るポインタを示すポインタ。
返値: 成功したら、S_OK。

このモデルを描画するのに使用するインデックスバッファ。 (頂点バッファ内のポリゴンを表現するインデックスを示すバッファ) インデックスバッファへのリファレンスカウントがインクリメントされる為、 使用終了後、速やかに Release しなければならない。


virtual DWORD GetFVF()

引数: なし。
返値: このモデルが使用する頂点フォーマットを返す。


virtual DWORD GetNumVertices()

引数: なし。
返値: このモデルを構成する頂点数を返す。


virtual DWORD GetNumFaces()

引数: なし。
返値: このモデルを構成する面の数を返す。


BOOL ProbeTheGroundAltitude(D3DXVECTOR3 *pVec, D3DXVECTOR3 *pBoxMin, D3DXVECTOR3 *pBoxMax, D3DXVECTOR3 *pVecNormal, FLOAT *pAlt, FLOAT *pDist)

引数:pVec:当たり判定を行う為の地点
pBoxMin:当たり判定の有効範囲を示す矩形の最小頂点。
pBoxMax:当たり判定の有効範囲を示す矩形の最大頂点。
pVecNormal:当たった地形面の法線を返す為の D3DXVECTOR3 型変数へのポインタ
pAlt:当たった地形面の高度(Y座標値)を返す為の FLOAT 型変数へのポインタ
pDist:当たった地形面と指定地点との距離を返す FLOAT 型変数へのポインタ
返値: 直下の地形との衝突があれば true なければ false。

指定された地点の地形の高度判定を行う。非常に重い処理である為、判定を行う区域を、 矩形で制限して判定を行う仕様。


BOOL ProbeTheGroundAltitudeOneSide(D3DXVECTOR3 *pVec, D3DXVECTOR3 *pBoxMin, D3DXVECTOR3 *pBoxMax, D3DXVECTOR3 *pVecNormal, FLOAT *pAlt, FLOAT *pDist)

引数:pVec:当たり判定を行う為の地点
pBoxMin:当たり判定の有効範囲を示す矩形の最小頂点。
pBoxMax:当たり判定の有効範囲を示す矩形の最大頂点。
pVecNormal:当たった地形面の法線を返す為の D3DXVECTOR3 型変数へのポインタ
pAlt:当たった地形面の高度(Y座標値)を返す為の FLOAT 型変数へのポインタ
pDist:当たった地形面と指定地点との距離を返す FLOAT 型変数へのポインタ
返値: 直下の地形との衝突があれば true なければ false。

ProbeTheGroundAltitude との違いは裏向きのポリゴンとの当たり判定を行うかどうか。 こちらは裏向きポリゴンとの当たり判定を行わない。


void SetWorldMatrix(D3DXMATRIX *pMat)

引数: pMat このモデルを表示するのに使用するワールド行列。
返値: なし。

このモデルを表示する際に使用するワールド行列を指定する。


D3DQuickLib のTOPページへ。