クラス fk_BVHMotion

BVH 形式のモーションデータを読み込み、保持するクラス. [詳細]

すべてのメンバ一覧

Public メソッド

 fk_BVHMotion (void)
 コンストラクタ
 ~fk_BVHMotion (void)
 デストラクタ
void init (void)
 初期化関数
bool readBVHFile (const std::string fileName)
 BVH ファイル入力関数.
int getNodeNum (void)
 ノード数取得関数
std::string getNodeName (int index)
 ノード名取得関数
fk_ModelgetNodeModel (int index)
 ノードモデル取得関数
fk_ModelgetNodeModel (std::string nodeName)
 ノードモデル取得関数
int nextFrame (void)
 モーション再生関数
void setFrameCount (int frame)
 モーション状態セット関数
int getNowFrameCount (void)
 モーション現在位置取得関数
int getFrameLength (void)
 モーション長取得関数

説明

BVH 形式のモーションデータを読み込み、保持するクラス.

このクラスは BVH 形式のモーションデータを読み込み、制御を行います。 主な用途は fk_IFSTexture クラスのインスタンスに対して Direct3D の X 形式を 読み込んだ際に、任意のモーションへと差し替える場合に使用します。 それ以外にも、このクラスのメンバ自体が fk_Model のツリー構造を保持しているため、 モーションの再生時刻を指定することでボーンの状態を再現することも可能です。 これを利用すれば、X 形式以外の形状要素を用いている場合でもモーションデータを 活用することができます。

参照:
fk_IndexFaceSet, fk_IFSTexture, fk_Model

コンストラクタとデストラクタ

fk_BVHMotion::fk_BVHMotion ( void   ) 

コンストラクタ

fk_BVHMotion::~fk_BVHMotion ( void   ) 

デストラクタ


関数

void fk_BVHMotion::init ( void   ) 

初期化関数

モーションデータを初期化します。

bool fk_BVHMotion::readBVHFile ( const std::string  fileName  ) 

BVH ファイル入力関数.

BVH 形式のファイルからモーションデータを読み込みます。

引数:
[in] fileName ファイル名
戻り値:
入力に成功すれば true、失敗すれば false を返します。
int fk_BVHMotion::getNodeNum ( void   ) 

ノード数取得関数

現在のモーションデータが持っているノード(ボーン)数を返します。

戻り値:
ノード数。 モーションデータが未入力の場合は、0 を返します。
std::string fk_BVHMotion::getNodeName ( int  index  ) 

ノード名取得関数

引数で指定したノードの名称を返します。

引数:
[in] index ノードのインデックス。0 からノード数-1 までの値をとります。
戻り値:
ノード名。 インデックスが無効な値の場合は、空の文字列を返します。
fk_Model* fk_BVHMotion::getNodeModel ( int  index  ) 

ノードモデル取得関数

引数で指定したノードについて、その状態を保持している fk_Model のポインタを返します。

引数:
[in] index ノードのインデックス。0 からノード数-1 までの値をとります。
戻り値:
ノードを表す fk_Model のポインタ。 インデックスが無効な値の場合は、NULL を返します。
fk_Model* fk_BVHMotion::getNodeModel ( std::string  nodeName  ) 

ノードモデル取得関数

引数で指定したノードについて、その状態を保持している fk_Model のポインタを返します。 ノードの名称を表す文字列で、対象ノードを指定します。

引数:
[in] nodeName ノードの名称。
戻り値:
ノードを表す fk_Model のポインタ。 存在しないノード名を指定した場合は、NULL を返します。
int fk_BVHMotion::nextFrame ( void   ) 

モーション再生関数

モーションを 1 フレーム分進め、各ノードの状態を更新します。 モーションの終端まで進んだら、先頭(0 フレーム目)に戻ります。

戻り値:
モーションを 1 フレーム進めた後のフレームカウント。
void fk_BVHMotion::setFrameCount ( int  frame  ) 

モーション状態セット関数

各ノードの状態を、指定したフレームカウントのものに更新します。 モーションの現在位置も指定したフレームになります。

引数:
[in] frame モーションのフレームカウント。 0 未満やモーションの長さ以上の値を指定した場合は、それぞれ上下限に丸められます。
int fk_BVHMotion::getNowFrameCount ( void   ) 

モーション現在位置取得関数

モーション再生の現在位置を取得します。

戻り値:
モーション再生の現在位置を指すフレームカウント。
int fk_BVHMotion::getFrameLength ( void   ) 

モーション長取得関数

モーションの長さをフレーム数で取得します。

戻り値:
モーションの長さを指すフレーム数。
FineKernelToolKitに対してFri Apr 23 16:38:39 2010に生成されました。  doxygen 1.6.3