FineKernelToolKit  2.8.10
Public メソッド
クラス fk_BVHMotion

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

すべてのメンバ一覧

Public メソッド

 fk_BVHMotion (void)
 コンストラクタ
virtual ~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)
 モーション状態セット関数
void setAnimationTime (double t)
 アニメーション時間設定関数
int getNowFrameCount (void)
 モーション現在位置取得関数
int getFrameLength (void)
 モーション長取得関数
double getOneFrameTime (void)
 1フレームの実時間取得関数

説明

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

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

参照:
fk_IndexFaceSet, fk_IFSTexture, fk_Model

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

fk_BVHMotion::fk_BVHMotion ( void  )

コンストラクタ

virtual fk_BVHMotion::~fk_BVHMotion ( void  ) [virtual]

デストラクタ


関数

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 未満やモーションの長さ以上の値を指定した場合は、それぞれ上下限に丸められます。
void fk_BVHMotion::setAnimationTime ( double  t)

アニメーション時間設定関数

各ノードの状態を、秒で指定した時間に対応する状態に設定します。 モーションの現在位置は、指定した時間に直近のフレームになります。

引数:
[in]t時間 0.0 未満やモーションの長さ以上の値を指定した場合は、それぞれ上下限に丸められます。
int fk_BVHMotion::getNowFrameCount ( void  )

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

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

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

モーション長取得関数

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

戻り値:
モーションの長さを指すフレーム数。
double fk_BVHMotion::getOneFrameTime ( void  )

1フレームの実時間取得関数

そのモーションデータにおける、1フレームの実時間を秒数で取得します。

戻り値:
モーションの長さを指すフレーム数。
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義