FineKernelToolKit 4.2.13
|
境界ボリュームを管理するクラス [詳解]
#include <CLI/FK_CLI/include/Boundary_CLI.h>
公開メンバ関数 | |
void | SetAABBMaxMin (fk_Vector^ max, fk_Vector^ min) |
軸平行境界ボックス (AABB) 最大最小設定メソッド | |
void | SetOBBMaxMin (fk_Vector^ max, fk_Vector^ min) |
有向境界ボックス (OBB) 最大最小設定メソッド | |
カプセル型制御メソッド | |
void | SetCapsule (fk_Vector^ startPos, fk_Vector^ endPos, double radius) |
カプセル型設定メソッド | |
![]() | |
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^ | SpherePos [get, set] |
fk_Vector^ | AABB [get, set] |
軸平行境界ボックス (AABB) サイズプロパティ | |
fk_Vector^ | AABBMax [get, set] |
軸平行境界ボックス (AABB) 最大値側プロパティ | |
fk_Vector^ | AABBMin [get, set] |
軸平行境界ボックス (AABB) 最小値側プロパティ | |
fk_Vector^ | OBB [get, set] |
有向境界ボックス (OBB) サイズプロパティ | |
fk_Vector^ | OBBMax [get, set] |
有向境界ボックス (OBB) 最大値側プロパティ | |
fk_Vector^ | OBBMin [get, set] |
有向境界ボックス (OBB) 最小値側プロパティ | |
double | CapsuleRadius [get, set] |
カプセル型領域規定距離プロパティ | |
double | CapsuleLength [get] |
カプセル型中心軸長プロパティ | |
fk_Vector^ | CapsuleStart [get, set] |
カプセル型中心軸始点プロパティ | |
fk_Vector^ | CapsuleEnd [get, set] |
カプセル型中心軸終点プロパティ | |
bool | BDraw [get, set] |
境界ボリューム描画有無プロパティ | |
fk_Color^ | BLineColor [get, set] |
境界ボリューム非干渉描画色プロパティ | |
fk_Color^ | BIntLineColor [get, set] |
境界ボリューム干渉状態描画色プロパティ | |
double | BLineWidth [get, set] |
境界ボリューム描画線幅プロパティ | |
![]() | |
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種類が提供されています。
軸平行境界ボックス (AABB) 最大最小設定メソッド
軸平行境界ボックス (AABB) の各成分の最大値と最小値を設定します。 各成分はグローバル座標系に対応します。 自動的に AABB のサイズを設定したい場合は fk_Model::AdjustAABB() を用いて下さい。
[in] | max | AABBの最大値側のベクトル |
[in] | min | AABBの最小値側のベクトル |
有向境界ボックス (OBB) 最大最小設定メソッド
有向境界ボックス (OBB) の各成分の最大値と最小値を設定します。 各成分はローカル座標系に対応します。 自動的に OBB のサイズを設定したい場合は fk_Model::AdjustOBB() を用いて下さい。
[in] | max | OBBの最大値側のベクトル |
[in] | min | OBBの最小値側のベクトル |
カプセル型設定メソッド
カプセル型は、数学的には線分(中心軸)からある一定距離以内にある領域となります。 このメソッドは、中心軸の両端点と距離を設定することでカプセル型を規定するものです。 中心軸端点の位置ベクトルは、モデルのローカル座標系に対応します。 自動的にカプセル型のサイズを設定したい場合は fk_Model::AdjustCapsule() を用いて下さい。
[in] | startPos | 中心軸端点(始点側)の位置ベクトル |
[in] | endPos | 中心軸端点(終点側)の位置ベクトル |
[in] | radius | 中心軸からの領域規定距離 |
|
getset |
境界ボリューム選択プロパティ
このプロパティは、 干渉判定にどの境界ボリュームを利用するかを指定、参照するものです。 本プロパティの設定は各境界ボリュームの設定とは独立しており、 プロパティ設定によってモードを変更しても、 各境界ボリュームの大きさ等の設定は初期化されません。
|
getset |
境界球半径プロパティ
境界球半径の設定・参照を行います。 現在モデルに設定されている形状から、 自動的に境界球半径を設定したい場合は fk_Model::AdjustSphere() を用いて下さい。
|
getset |
境界球の中心座標をローカル座標系で設定・参照を行います。 現在モデルに設定されている形状から、 自動的に境界球中心を設定したい場合は fk_Model::AdjustSphere() を用いて下さい。
|
getset |
軸平行境界ボックス (AABB) サイズプロパティ
軸平行境界ボックス (AABB) のサイズを設定・参照します。 サイズの各成分はグローバル座標系に対応します。 自動的に AABB のサイズを設定したい場合は fk_Model::AdjustAABB() を用いて下さい。
|
getset |
軸平行境界ボックス (AABB) 最大値側プロパティ
軸平行境界ボックス (AABB) の最大値側を設定・参照します。 各成分はグローバル座標系に対応します。 自動的に AABB のサイズを設定したい場合は fk_Model::AdjustAABB() を用いて下さい。
|
getset |
軸平行境界ボックス (AABB) 最小値側プロパティ
軸平行境界ボックス (AABB) の最小値側を設定・参照します。 各成分はグローバル座標系に対応します。 自動的に AABB のサイズを設定したい場合は fk_Model::AdjustAABB() を用いて下さい。
|
getset |
有向境界ボックス (OBB) サイズプロパティ
有向境界ボックス (OBB) のサイズを設定・参照します。 サイズの各成分はモデルのローカル座標系に対応します。 自動的に OBB のサイズを設定したい場合は fk_Model::AdjustOBB() を用いて下さい。
|
getset |
有向境界ボックス (OBB) 最大値側プロパティ
有向境界ボックス (OBB) の最大値側を設定・参照します。 各成分はモデルのローカル座標系に対応します。 自動的に OBB のサイズを設定したい場合は fk_Model::AdjustOBB() を用いて下さい。
|
getset |
有向境界ボックス (OBB) 最小値側プロパティ
有向境界ボックス (OBB) の最小値側を設定・参照します。 各成分はモデルのローカル座標系に対応します。 自動的に OBB のサイズを設定したい場合は fk_Model::AdjustOBB() を用いて下さい。
|
getset |
カプセル型領域規定距離プロパティ
カプセル型の領域規定距離を設定・参照します。
|
get |
カプセル型中心軸長プロパティ
カプセル型中心軸長を参照します。
|
getset |
カプセル型中心軸始点プロパティ
カプセル型中心軸の始点を設定・参照します。
|
getset |
カプセル型中心軸終点プロパティ
カプセル型中心軸の終点を設定・参照します。
|
getset |
|
getset |
境界ボリューム非干渉描画色プロパティ
境界ボリューム描画の際に、 非干渉状態である場合での線色の設定・参照を行います。
|
getset |
境界ボリューム干渉状態描画色プロパティ
境界ボリューム描画の際に、 干渉状態である場合での線色の設定・参照を行います。
|
getset |