FineKernelToolKit 3.1.0

- 総合概要
- 名前空間
- クラス
- ファイル

- クラス一覧
- クラス階層
- クラスメンバ

公開メンバ関数 | プロパティ | 全メンバ一覧
FK_CLI::fk_BVHMotion クラス

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

FK_CLI::fk_BVHMotion 連携図
[凡例]

## 公開メンバ関数
| fk_BVHMotion ()
| コンストラクタ [詳解]
| ~fk_BVHMotion ()
| デストラクタ [詳解]
| !fk_BVHMotion ()
| ファイナライザ [詳解]
void | Init (void)
| 初期化メソッド [詳解]
bool | ReadBVHFile (String^ fileName)
| BVH ファイル入力メソッド [詳解]
int | GetNodeNum (void)
| ノード数取得メソッド [詳解]
String^ | GetNodeName (int index)
| ノード名取得メソッド [詳解]
fk_Model^ | GetNodeModel (int index)
| ノードモデル取得メソッド1 [詳解]
fk_Model^ | GetNodeModel (String^ nodeName)
| ノードモデル取得メソッド2 [詳解]
int | NextFrame (void)
| モーション再生メソッド [詳解]
void | SetFrameCount (int frame)
| モーション状態セットメソッド [詳解]
void | SetAnimationTime (double t)
| アニメーション時間設定メソッド [詳解]

## プロパティ
int | NowFrameCount`[get]`
| モーション現在位置プロパティ [詳解]
int | FrameLength`[get]`
| モーション長プロパティ [詳解]
double | OneFrameTime`[get]`
| 1フレームの実時間プロパティ [詳解]

## 詳解

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

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

参照
  fk_IndexFaceSet, fk_IFSTexture, fk_Model

## 構築子と解体子

FK_CLI::fk_BVHMotion::fk_BVHMotion | ( |  | ) |

コンストラクタ

FK_CLI::fk_BVHMotion::~fk_BVHMotion | ( |  | ) |

デストラクタ

FK_CLI::fk_BVHMotion::!fk_BVHMotion | ( |  | ) |

ファイナライザ

## 関数詳解

void FK_CLI::fk_BVHMotion::Init | ( | void |  | ) |

初期化メソッド

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

bool FK_CLI::fk_BVHMotion::ReadBVHFile | ( | String^ | fileName | ) |

BVH ファイル入力メソッド

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

引数

  [in] | fileName | ファイル名

戻り値
  入力に成功すれば true、失敗すれば false を返します。

int FK_CLI::fk_BVHMotion::GetNodeNum | ( | void |  | ) |

ノード数取得メソッド

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

戻り値
  ノード数。モーションデータが未入力の場合は、0 を返します。

String ^ FK_CLI::fk_BVHMotion::GetNodeName | ( | int | index | ) |

ノード名取得メソッド

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

引数

  [in] | index | ノードのインデックス。0 からノード数-1 までの値をとります。

戻り値
  ノード名。インデックスが無効な値の場合は、空の文字列を返します。

fk_Model ^ FK_CLI::fk_BVHMotion::GetNodeModel | ( | int | index | ) |

ノードモデル取得メソッド1

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

引数

  [in] | index | ノードのインデックス。0 からノード数-1 までの値をとります。

戻り値
  ノードを表す fk_Model のポインタ。 インデックスが無効な値の場合は、null を返します。

fk_Model ^ FK_CLI::fk_BVHMotion::GetNodeModel | ( | String^ | nodeName | ) |

ノードモデル取得メソッド2

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

引数

  [in] | nodeName | ノードの名称。

戻り値
  ノードを表す fk_Model のポインタ。 存在しないノード名を指定した場合は、null を返します。

int FK_CLI::fk_BVHMotion::NextFrame | ( | void |  | ) |

モーション再生メソッド

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

戻り値
  モーションを 1 フレーム進めた後のフレームカウント。

void FK_CLI::fk_BVHMotion::SetFrameCount | ( | int | frame | ) |

モーション状態セットメソッド

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

引数

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

void FK_CLI::fk_BVHMotion::SetAnimationTime | ( | double | t | ) |

アニメーション時間設定メソッド

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

引数

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

## プロパティ詳解

int FK_CLI::fk_BVHMotion::NowFrameCount
| get

モーション現在位置プロパティ

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

int FK_CLI::fk_BVHMotion::FrameLength
| get

モーション長プロパティ

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

double FK_CLI::fk_BVHMotion::OneFrameTime
| get

1フレームの実時間プロパティ

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