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

境界ボリュームを管理するクラス [詳解]

+ FK_CLI::fk_Boundary の継承関係図
+ FK_CLI::fk_Boundary 連携図

公開メンバ関数

カプセル型制御メソッド
void SetCapsule (fk_Vector^ startPos, fk_Vector^ endPos, double radius)
 カプセル型設定メソッド [詳解]
 
double GetCapsuleRadius (void)
 カプセル型領域規定距離取得メソッド [詳解]
 
double GetCapsuleLength (void)
 カプセル型中心軸長取得メソッド [詳解]
 
fk_VectorGetCapsuleStartPos (void)
 カプセル型中心軸始点取得メソッド [詳解]
 
fk_VectorGetCapsuleEndPos (void)
 カプセル型中心軸終点取得メソッド [詳解]
 
- 基底クラス 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_BoundaryMode BMode [get, set]
 境界ボリューム選択プロパティ [詳解]
 
double SphereRadius [get, set]
 境界球半径プロパティ [詳解]
 
fk_Vector^  AABB [get, set]
 軸平行境界ボックス (AABB) サイズプロパティ [詳解]
 
fk_Vector^  OBB [get, set]
 有向境界ボックス (OBB) サイズプロパティ [詳解]
 
bool BDraw [get, set]
 境界ボリューム描画有無プロパティ [詳解]
 
fk_Color^  BLineColor [get, set]
 境界ボリューム非干渉描画色プロパティ [詳解]
 
fk_Color^  BIntLineColor [get, set]
 境界ボリューム干渉状態描画色プロパティ [詳解]
 
double BLineWidth [get, set]
 境界ボリューム描画線幅プロパティ [詳解]
 
- 基底クラス FK_CLI::fk_MatrixAdmin に属する継承プロパティ
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 の概要を参照して下さい。

境界ボリュームには、現在は以下の4種類が提供されています。

参照
fk_Model

関数詳解

void FK_CLI::fk_Boundary::SetCapsule ( fk_Vector startPos,
fk_Vector endPos,
double  radius 
)

カプセル型設定メソッド

カプセル型は、数学的には線分(中心軸)からある一定距離以内にある領域となります。 このメソッドは、中心軸の両端点と距離を設定することでカプセル型を規定するものです。 中心軸端点の位置ベクトルは、モデルのローカル座標系に対応します。 自動的にカプセル型のサイズを設定したい場合は fk_Model::AdjustCapsule() を用いて下さい。

引数
[in]startPos中心軸端点(始点側)の位置ベクトル
[in]endPos中心軸端点(終点側)の位置ベクトル
[in]radius中心軸からの領域規定距離
参照
GetCapsuleRadius(), GetCapsuleLength(), GetCapsuleStartPos(), GetCapsuleEndPos(), BMode, fk_Model::AdjustCapsule()
double FK_CLI::fk_Boundary::GetCapsuleRadius ( void  )

カプセル型領域規定距離取得メソッド

現在設定されているカプセル型の領域規定距離を取得します。

戻り値
カプセル型の領域規定距離
参照
SetCapsule(), fk_Model::AdjustCapsule()
double FK_CLI::fk_Boundary::GetCapsuleLength ( void  )

カプセル型中心軸長取得メソッド

現在設定されているカプセル型の中心軸の長さを取得します。

戻り値
カプセル型の中心軸の長さ
参照
SetCapsule(), fk_Model::AdjustCapsule()
fk_Vector ^ FK_CLI::fk_Boundary::GetCapsuleStartPos ( void  )

カプセル型中心軸始点取得メソッド

現在設定されているカプセル型の中心軸の始点位置ベクトルを取得します。

戻り値
カプセル型の中心軸の始点位置ベクトル
参照
SetCapsule(), fk_Model::AdjustCapsule()
fk_Vector ^ FK_CLI::fk_Boundary::GetCapsuleEndPos ( void  )

カプセル型中心軸終点取得メソッド

現在設定されているカプセル型の中心軸の終点位置ベクトルを取得します。

戻り値
カプセル型の中心軸の終点位置ベクトル
参照
SetCapsule(), fk_Model::AdjustCapsule()

プロパティ詳解

fk_BoundaryMode FK_CLI::fk_Boundary::BMode
getset

境界ボリューム選択プロパティ

このプロパティは、 干渉判定にどの境界ボリュームを利用するかを指定、参照するものです。 本プロパティの設定は各境界ボリュームの設定とは独立しており、 プロパティ設定によってモードを変更しても、 各境界ボリュームの大きさ等の設定は初期化されません。

覚え書き
本プロパティで選択が有効となるのは、現バージョンでは干渉判定のみです。 衝突判定については、本プロパティでの設定に関わらず境界球の設定が用いられます。
参照
fk_Model::IsInter()
double FK_CLI::fk_Boundary::SphereRadius
getset

境界球半径プロパティ

境界球半径の設定・参照を行います。 現在モデルに設定されている形状から、 自動的に境界球半径を設定したい場合は fk_Model::AdjustSphere() を用いて下さい。

参照
BMode, fk_Model::AdjustSphere()
fk_Vector^ FK_CLI::fk_Boundary::AABB
getset

軸平行境界ボックス (AABB) サイズプロパティ

軸平行境界ボックス (AABB) のサイズを設定・参照します。 サイズの各成分はグローバル座標系に対応します。 自動的に AABB のサイズを設定したい場合は fk_Model::AdjustAABB() を用いて下さい。

引数
[in]sizeAABBのサイズ
参照
BMode, fk_Model::AdjustAABB(), fk_Vector
fk_Vector^ FK_CLI::fk_Boundary::OBB
getset

有向境界ボックス (OBB) サイズプロパティ

有向境界ボックス (OBB) のサイズを設定・参照します。 サイズの各成分はモデルのローカル座標系に対応します。 自動的に OBB のサイズを設定したい場合は fk_Model::AdjustOBB() を用いて下さい。

参照
BMode, fk_Model::AdjustOBB(), fk_Vector
bool FK_CLI::fk_Boundary::BDraw
getset

境界ボリューム描画有無プロパティ

境界ボリュームに対し、描画の有無を設定・参照します。

参照
BLineColor, BIntLineColor, BLineWidth
fk_Color^ FK_CLI::fk_Boundary::BLineColor
getset

境界ボリューム非干渉描画色プロパティ

境界ボリューム描画の際に、 非干渉状態である場合での線色の設定・参照を行います。

参照
BIntLineColor, BDraw, fk_Model::IsInter(), fk_Model::InterMode, fk_Color
fk_Color^ FK_CLI::fk_Boundary::BIntLineColor
getset

境界ボリューム干渉状態描画色プロパティ

境界ボリューム描画の際に、 干渉状態である場合での線色の設定・参照を行います。

覚え書き
この線色で描画される条件は、 fk_Model::InterMode による設定によって異なります。
参照
BLineColor, BDraw, fk_Model::IsInter(), fk_Model::InterMode, fk_Color
double FK_CLI::fk_Boundary::BLineWidth
getset

境界ボリューム描画線幅プロパティ

境界ボリューム描画の際での、線幅の設定・参照を行います。

参照
BDraw, BLineColor, BIntLineColor