FineKernelToolKit 3.1.0

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

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

プロパティ | 全メンバ一覧
FK_CLI::fk_MatrixAdmin クラス

モデルの位置や姿勢を管理するクラス [詳解]

FK_CLI::fk_MatrixAdmin の継承関係図
[凡例]
FK_CLI::fk_MatrixAdmin 連携図
[凡例]

## 公開メンバ関数
拡大縮小関連メソッド
bool | SetScale (double scale, fk_Axis axis)
| 軸方向絶対倍率設定メソッド [詳解]
bool | SetScale (double x, double y, double z)
| 軸方向個別絶対倍率設定メソッド [詳解]
bool | PrdScale (double scale)
| 全体相対倍率設定メソッド [詳解]
bool | PrdScale (double scale, fk_Axis axis)
| 軸方向相対倍率設定メソッド [詳解]
bool | PrdScale (double x, double y, double z)
| 軸方向個別相対倍率設定メソッド [詳解]
double | GetScale (fk_Axis axis)
| 軸方向倍率取得メソッド [詳解]
姿勢制御メソッド
bool | GlFocus (fk_Vector^ p)
| グローバル座標系注視点設定メソッド1 [詳解]
bool | GlFocus (double x, double y, double z)
| グローバル座標系注視点設定メソッド2 [詳解]
bool | LoFocus (fk_Vector^ p)
| ローカル座標系注視点設定メソッド1 [詳解]
bool | LoFocus (double x, double y, double z)
| ローカル座標系注視点設定メソッド2 [詳解]
bool | GlVec (fk_Vector^ v)
| グローバル座標系方向ベクトル設定メソッド1 [詳解]
bool | GlVec (double x, double y, double z)
| グローバル座標系方向ベクトル設定メソッド2 [詳解]
bool | GlUpvec (fk_Vector^ v)
| グローバル座標系アップベクトル設定メソッド1 [詳解]
bool | GlUpvec (double x, double y, double z)
| グローバル座標系アップベクトル設定メソッド2 [詳解]
bool | LoUpvec (fk_Vector^ v)
| ローカル座標系アップベクトル設定メソッド1 [詳解]
bool | LoUpvec (double x, double y, double z)
| ローカル座標系アップベクトル設定メソッド2 [詳解]
bool | GlAngle (fk_Angle^ angle)
| グローバル座標系オイラー角設定メソッド1 [詳解]
bool | GlAngle (double h, double p, double b)
| グローバル座標系オイラー角設定メソッド2 [詳解]
bool | LoAngle (fk_Angle^ angle)
| ローカル座標系オイラー角設定メソッド1 [詳解]
bool | LoAngle (double h, double p, double b)
| ローカル座標系オイラー角設定メソッド2 [詳解]

## プロパティ
fk_Vector^ | Position`[get]`
| 位置ベクトルプロパティ [詳解]
fk_Vector^ | Vec`[get]`
| 方向ベクトルプロパティ [詳解]
fk_Vector^ | Upvec`[get]`
| アップベクトルプロパティ [詳解]
fk_Angle^ | Angle`[get]`
| オイラー角取得メソッド [詳解]
fk_Matrix^ | Matrix`[get]`
| 変換行列プロパティ [詳解]
fk_Matrix^ | InvMatrix`[get]`
| 逆変換行列プロパティ [詳解]
fk_Matrix^ | BaseMatrix`[get]`
| 移動・回転要素変換行列プロパティ [詳解]
fk_Matrix^ | InvBaseMatrix`[get]`
| 移動・回転要素逆変換行列プロパティ [詳解]
bool | ScaleMode`[get]`
| 拡大縮小状態判定プロパティ [詳解]
double | Scale`[get, set]`
| 全体倍率プロパティ [詳解]

## 詳解

モデルの位置や姿勢を管理するクラス

このクラスは fk_Model クラスの基底クラスで、 モデルの位置や姿勢の制御する機能を提供します。 これは、回転による指定や平行移動、任意位置指定など様々な方法があります。

このクラスのメソッド群を理解する上で欠かせない概念が 「グローバル座標系」と「ローカル座標系」です。 「グローバル座標系」とは、 シーン中に原点と x,y,z 各軸によって構成されている唯一の座標系です。 これに対し「ローカル座標系」とは、各モデルごとに存在する座標系であり、 モデルの中心を原点とし、前方向を -z 方向、上方向を +y 方向、 右方向を +x 方向とした座標系のことです。

グローバル座標系による指定では、 各モデルの位置や向いている方向などに依存しない動作となります。 例えば、-z 方向への平行移動を指示した場合は、 モデルがどちらを向いていても一律に -z 方向へ移動していきます。 感覚的には、モデルの制御を「東西南北」といった 絶対的な方角で指定すると考えればわかりやすいでしょう。

一方、ローカル座標系による指定では各モデルの位置や姿勢が重要となります。 同じように -z 方向への移動を指示した場合、 各モデルは現在モデルが向いている方向へ「前進」していくことになります。 +x 方向を向いているモデルは +x 方向へ、 -y 方向を向いているモデルは -y 方向へ移動していきます。 このように、ローカル座標系の指定は「前後左右」による指定と言えます。

このクラスのメソッドは、 グローバル座標系による制御メソッドは「Gl」というプレフィックスを持ち、 ローカル座標系による制御メソッドは「Lo」というプレフィックスを持ちます。 ほとんどの制御メソッドは「Gl」版と「Lo」版で同一の引数を持ったメソッドが存在しています。 (例外は fk_Model::GlMoveTo() と GlVec() です。 これについてはそれぞれのメソッドの項で説明します。)

あるモデルのローカル座標系に対し、別のモデルを配置する「親子関係」については、 fk_Model を参照して下さい。

参照
  fk_Model

## 関数詳解

bool FK_CLI::fk_MatrixAdmin::SetScale | ( | double | scale,
|  | fk_Axis | axis
| ) |  |

軸方向絶対倍率設定メソッド

モデルの、特定軸方向の拡大・縮小倍率を設定します。 倍率に 0 を入力した場合、エラーとして倍率の変更を行いません。

覚え書き
  全体の倍率と、軸方向の倍率はそれぞれ別個に管理されています。 結果的なモデルの各軸方向への倍率は、全体倍率と軸方向倍率の積となります。

引数

  [in] | scale | 倍率
  [in] | axis | 軸方向。fk_Axis.X, fk_Axis.Y, fk_Axis.Z のいずれかになります。

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

参照
  SetScale(double, double, double), Scale, PrdScale(), GetScale()

bool FK_CLI::fk_MatrixAdmin::SetScale | ( | double | x,
|  | double | y,
|  | double | z
| ) |  |

軸方向個別絶対倍率設定メソッド

モデルの、各軸方向の拡大・縮小倍率を設定します。 各倍率のいずれかで 0 を入力した場合、エラーとして倍率の変更を行いません。

覚え書き
  全体の倍率と、軸方向の倍率はそれぞれ別個に管理されています。 結果的なモデルの各軸方向への倍率は、全体倍率と軸方向倍率の積となります。

引数

  [in] | x | x方向の倍率
  [in] | y | y方向の倍率
  [in] | z | z方向の倍率

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

参照
  SetScale(double, fk_Axis), Scale, PrdScale(), GetScale()

bool FK_CLI::fk_MatrixAdmin::PrdScale | ( | double | scale | ) |

全体相対倍率設定メソッド

モデルの現在の全体拡大・縮小倍率に対し、引数で与えられた倍率を掛けます。 倍率に 0 を入力した場合、エラーとして倍率の変更を行いません。

覚え書き
  全体の倍率と、軸方向の倍率はそれぞれ別個に管理されています。 結果的なモデルの各軸方向への倍率は、全体倍率と軸方向倍率の積となります。

引数

  [in] | scale | 掛ける倍率

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

参照
  PrdScale(double, fk_Axis), PrdScale(double, double, double), Scale, SetScale(), GetScale()

bool FK_CLI::fk_MatrixAdmin::PrdScale | ( | double | scale,
|  | fk_Axis | axis
| ) |  |

軸方向相対倍率設定メソッド

モデルの、特定軸方向の拡大・縮小倍率に対し、引数で与えられた倍率を掛けます。 倍率に 0 を入力した場合、エラーとして倍率の変更を行いません。

覚え書き
  全体の倍率と、軸方向の倍率はそれぞれ別個に管理されています。 結果的なモデルの各軸方向への倍率は、全体倍率と軸方向倍率の積となります。

引数

  [in] | scale | 掛ける倍率
  [in] | axis | 軸方向。fk_Axis.X, fk_Axis.Y, fk_Axis.Z のいずれかになります。

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

参照
  PrdScale(double), PrdScale(double, double, double), Scale, SetScale(), GetScale()

bool FK_CLI::fk_MatrixAdmin::PrdScale | ( | double | x,
|  | double | y,
|  | double | z
| ) |  |

軸方向個別相対倍率設定メソッド

モデルの、各軸方向の拡大・縮小倍率に対し、引数で与えられた倍率を掛けます。 各倍率のいずれかで 0 を入力した場合、エラーとして倍率の変更を行いません。

覚え書き
  全体の倍率と、軸方向の倍率はそれぞれ別個に管理されています。 結果的なモデルの各軸方向への倍率は、全体倍率と軸方向倍率の積となります。

引数

  [in] | x | x方向へ掛ける倍率
  [in] | y | y方向へ掛ける倍率
  [in] | z | z方向へ掛ける倍率

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

参照
  PrdScale(double), PrdScale(double, fk_Axis), Scale, SetScale(), GetScale()

double FK_CLI::fk_MatrixAdmin::GetScale | ( | fk_Axis | axis | ) |

軸方向倍率取得メソッド

モデルの特定軸方向拡大・縮小倍率を取得します。

引数

  [in] | axis | 軸方向。fk_Axis.X, fk_Axis.Y, fk_Axis.Z のいずれかになります。

戻り値
  モデル軸方向倍率

参照
  SetScale(double, fk_Axis), SetScale(double, double, double), PrdScale(double, fk_Axis), PrdScale(double, double, double), Scale

bool FK_CLI::fk_MatrixAdmin::GlFocus | ( | fk_Vector^ | p | ) |

グローバル座標系注視点設定メソッド1

モデルの方向ベクトルを、 グローバル座標系による位置 p に向くように方向ベクトルを設定します。 モデルをカメラとして解釈すると、 p を注視点としてカメラを向けることになります。

なお、このメソッドを呼んだ時点でのアップベクトルの状態は規定されていません。 アップベクトルを含めた姿勢制御を行うため、 GlUpvec() などと併用しなければなりません。

引数

  [in] | p | 注視点位置ベクトル

戻り値
  与えられた注視点位置ベクトルが、 現在のモデルの位置ベクトルと等しい場合、 姿勢を変更せずに false を返します。 それ以外の場合、姿勢を変更し true を返します。

参照
  LoFocus(), GlVec(), GlUpvec(), GlAngle()

bool FK_CLI::fk_MatrixAdmin::GlFocus | ( | double | x,
|  | double | y,
|  | double | z
| ) |  |

グローバル座標系注視点設定メソッド2

モデルの方向ベクトルを、 グローバル座標系による位置 (x, y, z) に向くように方向ベクトルを設定します。 モデルをカメラとして解釈すると、 (x, y, z) を注視点としてカメラを向けることになります。

なお、このメソッドを呼んだ時点でのアップベクトルの状態は規定されていません。 アップベクトルを含めた姿勢制御を行うため、 GlUpvec() などと併用しなければなりません。

引数

  [in] | x | 注視点位置ベクトルのx成分
  [in] | y | 注視点位置ベクトルのy成分
  [in] | z | 注視点位置ベクトルのz成分

戻り値
  与えられた注視点位置ベクトルが、 現在のモデルの位置ベクトルと等しい場合、 姿勢を変更せずに false を返します。 それ以外の場合、姿勢を変更し true を返します。

参照
  LoFocus(), GlVec(), GlUpvec(), GlAngle()

bool FK_CLI::fk_MatrixAdmin::LoFocus | ( | fk_Vector^ | p | ) |

ローカル座標系注視点設定メソッド1

モデルの方向ベクトルを、 ローカル座標系による位置 p に向くように方向ベクトルを設定します。 モデルをカメラとして解釈すると、 p を注視点としてカメラを向けることになります。

なお、このメソッドを呼んだ時点でのアップベクトルの状態は規定されていません。 アップベクトルを含めた姿勢制御を行うため、 GlUpvec() などと併用しなければなりません。

引数

  [in] | p | 注視点位置ベクトル

戻り値
  与えられた注視点位置ベクトルが、 零ベクトルであった場合、 姿勢を変更せずに false を返します。 それ以外の場合、姿勢を変更し true を返します。

参照
  GlFocus(), GlUpvec(), LoUpvec(), LoAngle()

bool FK_CLI::fk_MatrixAdmin::LoFocus | ( | double | x,
|  | double | y,
|  | double | z
| ) |  |

ローカル座標系注視点設定メソッド2

モデルの方向ベクトルを、 ローカル座標系による位置 (x, y, z) に向くように方向ベクトルを設定します。 モデルをカメラとして解釈すると、 (x, y, z) を注視点としてカメラを向けることになります。

なお、このメソッドを呼んだ時点でのアップベクトルの状態は規定されていません。 アップベクトルを含めた姿勢制御を行うため、 GlUpvec() などと併用しなければなりません。

引数

  [in] | x | 注視点位置ベクトルのx成分
  [in] | y | 注視点位置ベクトルのy成分
  [in] | z | 注視点位置ベクトルのz成分

戻り値
  与えられた注視点位置ベクトルが、 零ベクトルであった場合、 姿勢を変更せずに false を返します。 それ以外の場合、姿勢を変更し true を返します。

参照
  GlFocus(), GlUpvec(), LoUpvec(), LoAngle()

bool FK_CLI::fk_MatrixAdmin::GlVec | ( | fk_Vector^ | v | ) |

グローバル座標系方向ベクトル設定メソッド1

モデルの方向ベクトルを、グローバル座標系において与えられたベクトルに設定します。 ベクトルは正規化されている必要はありませんが、 零ベクトルであってはなりません。

このメソッドを呼んだ時点でのアップベクトルの状態は規定されていません。 アップベクトルを含めた姿勢制御を行うため、 GlUpvec() などと併用しなければなりません。

覚え書き
  GlVec() メソッドに対応するローカル座標系メソッド 「LoVec()」メソッドは存在しません。 これは、LoVec() メソッドはその意味的に LoFocus() とまったく同一の挙動となるためです。

引数

  [in] | v | 方向ベクトル

戻り値
  与えられた方向ベクトルが零ベクトルであった場合、 姿勢を変更せずに false を返します。 それ以外の場合、姿勢を変更し true を返します。

参照
  GlFocus(), GlUpvec(), GlAngle(), LoFocus()

bool FK_CLI::fk_MatrixAdmin::GlVec | ( | double | x,
|  | double | y,
|  | double | z
| ) |  |

グローバル座標系方向ベクトル設定メソッド2

モデルの方向ベクトルを、グローバル座標系において与えられたベクトルに設定します。 ベクトルは正規化されている必要はありませんが、 零ベクトルであってはなりません。

このメソッドを呼んだ時点でのアップベクトルの状態は規定されていません。 アップベクトルを含めた姿勢制御を行うため、 GlUpvec() などと併用しなければなりません。

覚え書き
  GlVec() メソッドに対応するローカル座標系メソッド 「LoVec()」メソッドは存在しません。 これは、LoVec() メソッドはその意味的に LoFocus() とまったく同一の挙動となるためです。

引数

  [in] | x | 方向ベクトルのx成分
  [in] | y | 方向ベクトルのx成分
  [in] | z | 方向ベクトルのx成分

戻り値
  与えられた方向ベクトルが零ベクトルであった場合、 姿勢を変更せずに false を返します。 それ以外の場合、姿勢を変更し true を返します。

参照
  GlFocus(), GlUpvec(), GlAngle(), LoFocus()

bool FK_CLI::fk_MatrixAdmin::GlUpvec | ( | fk_Vector^ | v | ) |

グローバル座標系アップベクトル設定メソッド1

モデルのアップベクトルを、グローバル座標系において与えられたベクトルに設定します。 ベクトルは正規化されている必要はありませんが、 零ベクトルであってはなりません。 また、方向ベクトルと平行であった場合もエラーとなります。

引数

  [in] | v | アップベクトル

戻り値
  与えられたアップベクトルが零ベクトルであるか、 方向ベクトルと平行であった場合、 姿勢を変更せずに false を返します。 それ以外の場合、姿勢を変更し true を返します。

参照
  GlFocus(), GlVec(), GlAngle(), LoUpvec()

bool FK_CLI::fk_MatrixAdmin::GlUpvec | ( | double | x,
|  | double | y,
|  | double | z
| ) |  |

グローバル座標系アップベクトル設定メソッド2

モデルのアップベクトルを、グローバル座標系において与えられたベクトルに設定します。 ベクトルは正規化されている必要はありませんが、 零ベクトルであってはなりません。 また、方向ベクトルと平行であった場合もエラーとなります。

引数

  [in] | x | アップベクトルのx成分
  [in] | y | アップベクトルのy成分
  [in] | z | アップベクトルのz成分

戻り値
  与えられたアップベクトルが零ベクトルであるか、 方向ベクトルと平行であった場合、 姿勢を変更せずに false を返します。 それ以外の場合、姿勢を変更し true を返します。

参照
  GlFocus(), GlVec(), GlAngle(), LoUpvec()

bool FK_CLI::fk_MatrixAdmin::LoUpvec | ( | fk_Vector^ | v | ) |

ローカル座標系アップベクトル設定メソッド1

モデルのアップベクトルを、ローカル座標系において与えられたベクトルに設定します。 本メソッドにおいては、z成分の値は意味をなしませんが、 実際には 0 以外の値であっても問題なく動作します。

ベクトルは正規化されている必要はありませんが、 零ベクトルであってはなりません。 また、z軸方向のベクトルと平行であった場合もエラーとなります。

引数

  [in] | v | アップベクトル

戻り値
  与えられたアップベクトルが零ベクトルであるか、 z軸ベクトルと平行であった場合、 姿勢を変更せずに false を返します。 それ以外の場合、姿勢を変更し true を返します。

参照
  LoFocus(), LoAngle(), GlUpvec()

bool FK_CLI::fk_MatrixAdmin::LoUpvec | ( | double | x,
|  | double | y,
|  | double | z
| ) |  |

ローカル座標系アップベクトル設定メソッド2

モデルのアップベクトルを、ローカル座標系において与えられたベクトルに設定します。 本メソッドにおいては、z成分の値は意味をなしませんが、 実際には 0 以外の値であっても問題なく動作します。

ベクトルは正規化されている必要はありませんが、 零ベクトルであってはなりません。 また、z軸方向のベクトルと平行であった場合もエラーとなります。

引数

  [in] | x | アップベクトルのx成分
  [in] | y | アップベクトルのy成分
  [in] | z | アップベクトルのz成分

戻り値
  与えられたアップベクトルが零ベクトルであるか、 z軸ベクトルと平行であった場合、 姿勢を変更せずに false を返します。 それ以外の場合、姿勢を変更し true を返します。

参照
  LoFocus(), LoAngle(), GlUpvec()

bool FK_CLI::fk_MatrixAdmin::GlAngle | ( | fk_Angle^ | angle | ) |

グローバル座標系オイラー角設定メソッド1

モデルの姿勢を、グローバル座標系におけるオイラー角で設定します。 オイラー角はモデルの姿勢を一意に決定できるため、 姿勢を厳密に保存、再現する方法として利用できます。 オイラー角についての詳しい解説は fk_Angle を参照して下さい。

引数

  [in] | angle | 姿勢を表すオイラー角

戻り値
  このメソッドは常に true を返します。

参照
  LoAngle(), GlVec(), GlUpvec(), fk_Angle

bool FK_CLI::fk_MatrixAdmin::GlAngle | ( | double | h,
|  | double | p,
|  | double | b
| ) |  |

グローバル座標系オイラー角設定メソッド2

モデルの姿勢を、グローバル座標系におけるオイラー角で設定します。 オイラー角はモデルの姿勢を一意に決定できるため、 姿勢を厳密に保存、再現する方法として利用できます。 オイラー角についての詳しい解説は fk_Angle を参照して下さい。

引数

  [in] | h | 姿勢を表すオイラー角のヘディング角
  [in] | p | 姿勢を表すオイラー角のピッチ角
  [in] | b | 姿勢を表すオイラー角のバンク角

戻り値
  このメソッドは常に true を返します。

参照
  LoAngle(), GlVec(), GlUpvec(), fk_Angle

bool FK_CLI::fk_MatrixAdmin::LoAngle | ( | fk_Angle^ | angle | ) |

ローカル座標系オイラー角設定メソッド1

モデルの姿勢を、ローカル座標系におけるオイラー角で設定します。 オイラー角についての詳しい解説は fk_Angle を参照して下さい。

引数

  [in] | angle | 姿勢を表すオイラー角

戻り値
  このメソッドは常に true を返します。

参照
  GlAngle(), LoFocus(), LoUpvec(), fk_Angle

bool FK_CLI::fk_MatrixAdmin::LoAngle | ( | double | h,
|  | double | p,
|  | double | b
| ) |  |

ローカル座標系オイラー角設定メソッド2

モデルの姿勢を、ローカル座標系におけるオイラー角で設定します。 オイラー角についての詳しい解説は fk_Angle を参照して下さい。

引数

  [in] | h | 姿勢を表すオイラー角のヘディング角
  [in] | p | 姿勢を表すオイラー角のピッチ角
  [in] | b | 姿勢を表すオイラー角のバンク角

戻り値
  このメソッドは常に true を返します。

参照
  GlAngle(), LoFocus(), LoUpvec(), fk_Angle

## プロパティ詳解

fk_Vector^ FK_CLI::fk_MatrixAdmin::Position
| get

位置ベクトルプロパティ

モデルの位置ベクトルを参照します。 親モデルが設定されている場合、 親モデルの座標系からの相対的な位置ベクトルとなります。 グローバル座標系での正確な位置ベクトルを取得したい場合は、 fk_Model::InhPosition を利用して下さい。

本プロパティは設定を行うことはできません。 位置指定は fk_Model::GlMoveTo() を利用してください。

参照
  Vec, Upvec, Angle, fk_Model::InhPosition

fk_Vector^ FK_CLI::fk_MatrixAdmin::Vec
| get

方向ベクトルプロパティ

モデルの方向ベクトルを参照します。 親モデルが設定されている場合、 親モデルの座標系からの相対的な方向ベクトルとなります。 グローバル座標系での正確な方向ベクトルを取得したい場合は、 fk_Model::InhVec を利用して下さい。

本プロパティは設定を行うことはできません。 方向指定は GlVec() を利用してください。

参照
  Position, Upvec, Angle, fk_Model::InhVec

fk_Vector^ FK_CLI::fk_MatrixAdmin::Upvec
| get

アップベクトルプロパティ

モデルのアップベクトルを参照します。 親モデルが設定されている場合、 親モデルの座標系からの相対的なアップベクトルとなります。 グローバル座標系での正確なアップベクトルを取得したい場合は、 fk_Model::InhUpvec を利用して下さい。

本プロパティは設定を行うことはできません。 方向指定は GlUpvec() を利用してください。

参照
  Position, Vec, Angle, fk_Model::InhUpvec

fk_Angle^ FK_CLI::fk_MatrixAdmin::Angle
| get

オイラー角取得メソッド

モデルの姿勢をオイラー角で参照します。 親モデルが設定されている場合、 親モデルの座標系からの相対的なオイラー角となります。 グローバル座標系での正確なオイラー角を取得したい場合は、 fk_Model::InhAngle を利用して下さい。 オイラー角についての詳細は、 fk_Angle の説明を参照して下さい。

本プロパティは設定を行うことはできません。 オイラー角指定は GlAngle() を利用してください。

参照
  Position, Vec, Upvec, fk_Model::InhAngle, fk_Angle

fk_Matrix^ FK_CLI::fk_MatrixAdmin::Matrix
| get

変換行列プロパティ

モデルの位置と姿勢を表す変換行列を参照します。 ここで取得する変換行列は、 親モデルが存在する場合は親モデルに対する変換となります。 グローバル座標系での変換行列を取得したい場合は、 fk_Model::InhMatrix を利用して下さい。

参照
  InvMatrix, fk_Model::InhMatrix, BaseMatrix

fk_Matrix^ FK_CLI::fk_MatrixAdmin::InvMatrix
| get

逆変換行列プロパティ

モデルの位置と姿勢を表す変換行列の、逆行列を参照します。 これは、 Matrix プロパティで得られる行列の逆行列となります。 ここで取得する逆変換行列は、 親モデルが存在する場合は親モデルに対する逆変換となります。 グローバル座標系での逆変換行列を取得したい場合は、 fk_Model::InhInvMatrix を利用して下さい。

参照
  Matrix, fk_Model::InhInvMatrix

fk_Matrix^ FK_CLI::fk_MatrixAdmin::BaseMatrix
| get

移動・回転要素変換行列プロパティ

モデルの持つ変換要素のうち、 位置と姿勢のみを反映した、 すなわち拡大縮小の要素を省いた変換行列を参照します。 親モデルが存在する場合は親モデルに対する変換となります。 グローバル座標系での変換行列を取得したい場合は、 fk_Model::InhBaseMatrix を利用して下さい。

参照
  Matrix, fk_Model::InhBaseMatrix

fk_Matrix^ FK_CLI::fk_MatrixAdmin::InvBaseMatrix
| get

移動・回転要素逆変換行列プロパティ

モデルの持つ変換要素のうち、 位置と姿勢のみを反映した、 すなわち拡大縮小の要素を省いた変換行列の逆行列を参照します。 親モデルが存在する場合は親モデルに対する逆変換となります。 グローバル座標系での逆変換行列を取得したい場合は、 fk_Model::InhInvBaseMatrix を利用して下さい。

参照
  InvMatrix, fk_Model::InhInvBaseMatrix,

bool FK_CLI::fk_MatrixAdmin::ScaleMode
| get

拡大縮小状態判定プロパティ

モデルの拡大・縮小状態を参照します。 拡大縮小倍率に 1 以外が設定されている場合 true、 されていない場合 false となります。

モデルの拡大・縮小倍率が、 全体および軸方向のいずれかで 1 以外に設定されている場合、 モデルの拡大縮小が行われると解釈します。

覚え書き
  ここでの判定は、 単純に倍率数値が全て 1 であるかどうかで判断されます。 たとえば、全体倍率を 1/2 とし、 軸方向倍率を全て 2 に設定した場合、 結果としてモデルの拡大縮小は行われないことになりますが、 本プロパティの結果は false となります。

double FK_CLI::fk_MatrixAdmin::Scale
| get set

全体倍率プロパティ

モデル全体の拡大・縮小倍率の参照・設定を行います。

参照
  SetScale(), PrdScale(), GetScale()