FineKernelToolKit 4.2.13
読み取り中…
検索中…
一致する文字列を見つけられません
公開メンバ関数 | 全メンバ一覧
FK::fk_Boundary クラス

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

#include <FK/Boundary.h>

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

公開メンバ関数

 fk_Boundary (fk_Type)
 コンストラクタ
 
virtual ~fk_Boundary ()
 デストラクタ
 
境界ボリューム選択制御関数
void setBMode (fk_BoundaryMode mode)
 境界ボリューム選択関数
 
fk_BoundaryMode getBMode (void)
 境界ボリューム選択状態参照関数
 
境界球制御関数
void setSphere (double r)
 境界球半径設定関数
 
void setSpherePos (fk_Vector pos)
 境界球位置設定関数
 
double getSphere (void)
 境界球半径参照関数
 
fk_Vector getSpherePos (void)
 境界球位置参照関数
 
軸平行境界ボックス (AABB) 制御関数
void setAABBSize (double x, double y, double z)
 軸平行境界ボックス (AABB) サイズ設定関数1
 
void setAABBSize (fk_Vector size)
 軸平行境界ボックス (AABB) サイズ設定関数2
 
void setAABBMaxMin (fk_Vector max, fk_Vector min)
 軸平行境界ボックス (AABB) 最大最小設定関数
 
void setAABBMax (fk_Vector v)
 軸平行境界ボックス (AABB) 最大値側設定関数
 
void setAABBMin (fk_Vector v)
 軸平行境界ボックス (AABB) 最小値側設定関数
 
fk_Vector getAABBSize (void)
 軸平行境界ボックス (AABB) サイズ取得関数
 
fk_Vector getAABBMax (void)
 軸平行境界ボックス (AABB) 最大値側取得関数
 
fk_Vector getAABBMin (void)
 軸平行境界ボックス (AABB) 最小値側取得関数
 
std::tuple< fk_Vector, fk_VectorgetAABBMaxMin (void)
 軸平行境界ボックス (AABB) 最大最小取得関数
 
有向境界ボックス (OBB) 制御関数
void setOBBSize (double x, double y, double z)
 有向境界ボックス (OBB) サイズ設定関数1
 
void setOBBSize (fk_Vector size)
 有向境界ボックス (OBB) サイズ設定関数2
 
void setOBBMaxMin (fk_Vector max, fk_Vector min)
 有向境界ボックス (OBB) 最大最小設定関数
 
void setOBBMax (fk_Vector v)
 有向境界ボックス (OBB) 最大値側設定関数
 
void setOBBMin (fk_Vector v)
 有向境界ボックス (OBB) 最小値側設定関数
 
fk_Vector getOBBSize (void)
 有向境界ボックス (OBB) サイズ取得関数
 
fk_Vector getOBBMax (void)
 有向境界ボックス (OBB) 最大値側取得関数
 
fk_Vector getOBBMin (void)
 有向境界ボックス (OBB) 最小値側取得関数
 
std::tuple< fk_Vector, fk_VectorgetOBBMaxMin (void)
 有向境界ボックス (OBB) 最大最小取得関数
 
カプセル型制御関数
void setCapsule (fk_Vector sPos, fk_Vector ePos, double r)
 カプセル型設定関数
 
void setCapsuleStartPos (fk_Vector argP)
 カプセル型中心軸始点設定関数
 
void setCapsuleEndPos (fk_Vector argP)
 カプセル型中心軸終点設定関数
 
void setCapsuleRadius (double r)
 カプセル型領域規定距離設定関数
 
double getCapsuleRadius (void)
 カプセル型領域規定距離取得関数
 
double getCapsuleLength (void)
 カプセル型中心軸長取得関数
 
std::tuple< fk_Vector, fk_VectorgetCapsulePos (void)
 カプセル型中心軸両端点取得関数
 
fk_Vector getCapsuleStartPos (void)
 カプセル型中心軸始点取得関数
 
fk_Vector getCapsuleEndPos (void)
 カプセル型中心軸終点取得関数
 
境界ボリューム描画制御関数
void setBDrawToggle (bool mode)
 境界ボリューム描画有無設定関数
 
bool getBDrawToggle (void)
 境界ボリューム描画有無取得関数
 
void setBLineColor (fk_Color col)
 境界ボリューム非干渉描画色設定関数
 
fk_ColorgetBLineColor (void)
 境界ボリューム非干渉描画色取得関数
 
void setBIntLineColor (fk_Color col)
 境界ボリューム干渉状態描画色設定関数
 
fk_ColorgetBIntLineColor (void)
 境界ボリューム干渉状態描画色取得関数
 
void setBLineWidth (double width)
 境界ボリューム描画線幅設定関数
 
double getBLineWidth (void)
 境界ボリューム描画線幅取得関数
 
- 基底クラス FK::fk_MatrixAdmin に属する継承公開メンバ関数
 fk_MatrixAdmin (fk_Type=fk_Type::MATRIXADMIN)
 コンストラクタ
 
virtual ~fk_MatrixAdmin ()
 デストラクタ
 
fk_Vector getPosition (void) const
 位置ベクトル取得関数
 
fk_Vector getVec (void) const
 方向ベクトル取得関数
 
fk_Vector getUpvec (void) const
 アップベクトル取得関数
 
fk_Angle getAngle (void) const
 オイラー角取得関数
 
fk_Matrix getMatrix (void) const
 変換行列取得関数
 
fk_Matrix getInvMatrix (void) const
 逆変換行列取得関数
 
fk_OrthoMatrix getBaseMatrix (void) const
 移動・回転要素変換行列取得関数
 
fk_OrthoMatrix getInvBaseMatrix (void) const
 移動・回転要素逆変換行列取得関数
 
bool setScale (const double scale)
 全体絶対倍率設定関数
 
bool setScale (const double scale, fk_Axis axis)
 軸方向絶対倍率設定関数
 
bool setScale (const double x, const double y, const double z)
 軸方向個別絶対倍率設定関数
 
bool prdScale (const double scale)
 全体相対倍率設定関数
 
bool prdScale (const double scale, fk_Axis axis)
 軸方向相対倍率設定関数
 
bool prdScale (const double x, const double y, const double z)
 軸方向個別相対倍率設定関数
 
double getScale (void) const
 全体倍率取得関数
 
double getScale (fk_Axis axis) const
 軸方向倍率取得関数
 
bool getScaleMode (void) const
 拡大縮小状態判定関数
 
bool glRotate_ (fk_Vector &origin, fk_Axis axis, double theta)
 グローバル座標系座標軸回転関数1
 
bool glRotate_ (double orgX, double orgY, double orgZ, fk_Axis axis, double theta)
 グローバル座標系座標軸回転関数2
 
bool glRotate_ (fk_Vector &A, fk_Vector &B, double theta)
 グローバル座標系任意軸回転関数1
 
bool glRotate_ (double Ax, double Ay, double Az, double Bx, double By, double Bz, double theta)
 グローバル座標系任意軸回転関数2
 
bool loRotate_ (fk_Vector &origin, fk_Axis axis, double theta)
 ローカル座標系座標軸回転関数1
 
bool loRotate_ (double orgX, double orgY, double orgZ, fk_Axis axis, double theta)
 ローカル座標系座標軸回転関数2
 
bool loRotate_ (fk_Vector &A, fk_Vector &B, double theta)
 ローカル座標系任意軸回転関数1
 
bool loRotate_ (double Ax, double Ay, double Az, double Bx, double By, double Bz, double theta)
 ローカル座標系任意軸回転関数2
 
bool glRotateWithVec_ (fk_Vector &origin, fk_Axis axis, double theta)
 グローバル座標系座標軸回転(姿勢付き)関数1
 
bool glRotateWithVec_ (double orgX, double orgY, double orgZ, fk_Axis axis, double theta)
 グローバル座標系座標軸回転(姿勢付き)関数2
 
bool glRotateWithVec_ (fk_Vector &A, fk_Vector &B, double theta)
 グローバル座標系任意軸回転(姿勢付き)関数1
 
bool glRotateWithVec_ (double Ax, double Ay, double Az, double Bx, double By, double Bz, double theta)
 グローバル座標系任意軸回転(姿勢付き)関数2
 
bool loRotateWithVec_ (fk_Vector &origin, fk_Axis axis, double theta)
 ローカル座標系座標軸回転(姿勢付き)関数1
 
bool loRotateWithVec_ (double orgX, double orgY, double orgZ, fk_Axis axis, double theta)
 ローカル座標系座標軸回転(姿勢付き)関数2
 
bool loRotateWithVec_ (fk_Vector &A, fk_Vector &B, double theta)
 ローカル座標系任意軸回転(姿勢付き)関数1
 
bool loRotateWithVec_ (double Ax, double Ay, double Az, double Bx, double By, double Bz, double theta)
 ローカル座標系任意軸回転(姿勢付き)関数2
 
bool glTranslate_ (fk_Vector &v)
 グローバル座標系平行移動関数1
 
bool glTranslate_ (double x, double y, double z)
 グローバル座標系平行移動関数2
 
bool loTranslate_ (fk_Vector &v)
 ローカル座標系平行移動関数1
 
bool loTranslate_ (double x, double y, double z)
 ローカル座標系平行移動関数2
 
bool glMoveTo_ (fk_Vector &p)
 グローバル座標系位置指定関数1
 
bool glMoveTo_ (double x, double y, double z)
 グローバル座標系位置指定関数2
 
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::fk_BaseObject に属する継承公開メンバ関数
 fk_BaseObject (fk_Type type=fk_Type::BASEOBJECT)
 コンストラクタ
 
fk_Type getObjectType (void) const
 タイプ取得関数
 

詳解

境界ボリュームを管理するクラス

このクラスは、モデルの干渉判定や衝突判定を行うための 「境界ボリューム」を制御する機能を提供します。

「境界ボリューム」とは、モデルが干渉判定や衝突判定を行う際に、 処理を高速に行うための簡易的な形状を指します。 モデル同士の干渉・衝突判定は、 実際にはこの境界ボリューム同士の干渉状態や衝突を検出することになります。 干渉判定と衝突判定に関する詳細は fk_Model の概要を参照して下さい。

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

参照
fk_Model

構築子と解体子

◆ fk_Boundary()

FK::fk_Boundary::fk_Boundary ( fk_Type  )

コンストラクタ

◆ ~fk_Boundary()

virtual FK::fk_Boundary::~fk_Boundary ( )
virtual

デストラクタ

関数詳解

◆ setBMode()

void FK::fk_Boundary::setBMode ( fk_BoundaryMode  mode)

境界ボリューム選択関数

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

覚え書き
本関数で選択が有効となるのは、現バージョンでは干渉判定のみです。 衝突判定については、本関数での設定に関わらず境界球の設定が用いられます。
引数
[in]modeモデルで干渉判定に利用する境界ボリュームの種類
参照
getBMode(), fk_Model::isInter()

◆ getBMode()

fk_BoundaryMode FK::fk_Boundary::getBMode ( void  )

境界ボリューム選択状態参照関数

現在選択されている境界ボリュームの種類を取得します。

戻り値
境界ボリューム種類
参照
setBMode(), fk_Model::isInter()

◆ setSphere()

void FK::fk_Boundary::setSphere ( double  r)

境界球半径設定関数

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

引数
[in]r境界球半径
参照
setSpherePos(), getSphere(), setBMode(), fk_Model::adjustSphere()

◆ setSpherePos()

void FK::fk_Boundary::setSpherePos ( fk_Vector  pos)

境界球位置設定関数

境界球の中心座標をローカル座標系で設定します。 現在モデルに設定されている形状から、 自動的に境界球中心を設定したい場合は fk_Model::adjustSphere() を用いて下さい。

引数
[in]pos境界球中心座標
参照
setSphere(), getSpherePos(), setBMode(), fk_Model::adjustSphere()

◆ getSphere()

double FK::fk_Boundary::getSphere ( void  )

境界球半径参照関数

現在設定されている境界球半径を取得します。

戻り値
境界球半径
参照
setSphere(), fk_Model::adjustSphere()

◆ getSpherePos()

fk_Vector FK::fk_Boundary::getSpherePos ( void  )

境界球位置参照関数

現在設定されている境界球中心座標を取得します。

戻り値
境界球中心座標
参照
setSpherePos(), fk_Model::adjustSphere()

◆ setAABBSize() [1/2]

void FK::fk_Boundary::setAABBSize ( double  x,
double  y,
double  z 
)

軸平行境界ボックス (AABB) サイズ設定関数1

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

引数
[in]xAABBのx方向のサイズ
[in]yAABBのy方向のサイズ
[in]zAABBのz方向のサイズ
参照
setAABBSize(fk_Vector), getAABBSize(), setBMode(), fk_Model::adjustAABB()

◆ setAABBSize() [2/2]

void FK::fk_Boundary::setAABBSize ( fk_Vector  size)

軸平行境界ボックス (AABB) サイズ設定関数2

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

引数
[in]sizeAABBのサイズ
参照
setAABBSize(double, double, double), getAABBSize(), setBMode(), fk_Model::adjustAABB()

◆ setAABBMaxMin()

void FK::fk_Boundary::setAABBMaxMin ( fk_Vector  max,
fk_Vector  min 
)

軸平行境界ボックス (AABB) 最大最小設定関数

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

引数
[in]maxAABBの最大値側のベクトル
[in]minAABBの最小値側のベクトル
参照
setAABBMax(), setAABBMin(), getAABBMax(), getAABBMin(), setBMode(), fk_Model::adjustAABB()

◆ setAABBMax()

void FK::fk_Boundary::setAABBMax ( fk_Vector  v)

軸平行境界ボックス (AABB) 最大値側設定関数

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

引数
[in]vAABBの最大値側のベクトル
参照
setAABBMaxMin(fk_Vector, fk_Vector), setAABBMin(), getAABBMax(), getAABBMin(), setBMode(), fk_Model::adjustAABB()

◆ setAABBMin()

void FK::fk_Boundary::setAABBMin ( fk_Vector  v)

軸平行境界ボックス (AABB) 最小値側設定関数

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

引数
[in]vAABBの最大値側のベクトル
参照
setAABBMaxMin(fk_Vector, fk_Vector), setAABBMax(), getAABBMax(), getAABBMin(), setBMode(), fk_Model::adjustAABB()

◆ getAABBSize()

fk_Vector FK::fk_Boundary::getAABBSize ( void  )

軸平行境界ボックス (AABB) サイズ取得関数

現在設定されている軸平行境界ボックス (AABB) のサイズを取得します。

戻り値
AABBの大きさ
参照
setAABBSize(double, double, double), setAABBSize(fk_Vector), fk_Model::adjustAABB()

◆ getAABBMax()

fk_Vector FK::fk_Boundary::getAABBMax ( void  )

軸平行境界ボックス (AABB) 最大値側取得関数

現在設定されている軸平行境界ボックス (AABB) の最大値側を取得します。

戻り値
AABBの最大値側
参照
setAABBMax(), getAABBMin(), fk_Model::adjustAABB()

◆ getAABBMin()

fk_Vector FK::fk_Boundary::getAABBMin ( void  )

軸平行境界ボックス (AABB) 最小値側取得関数

現在設定されている軸平行境界ボックス (AABB) の最小値側を取得します。

戻り値
AABBの最小値側
参照
setAABBMin(), getAABBMax(), fk_Model::adjustAABB()

◆ getAABBMaxMin()

std::tuple< fk_Vector, fk_Vector > FK::fk_Boundary::getAABBMaxMin ( void  )

軸平行境界ボックス (AABB) 最大最小取得関数

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

戻り値
第1要素に最大値側ベクトル、第2要素に最小値側ベクトルが返ります。
参照
setAABBMax(), setAABBMin(), getAABBMax(), getAABBMin(), setBMode(), fk_Model::adjustAABB()

◆ setOBBSize() [1/2]

void FK::fk_Boundary::setOBBSize ( double  x,
double  y,
double  z 
)

有向境界ボックス (OBB) サイズ設定関数1

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

引数
[in]xOBBのx方向のサイズ
[in]yOBBのy方向のサイズ
[in]zOBBのz方向のサイズ
参照
setOBBSize(fk_Vector), getOBBSize(), setBMode(), fk_Model::adjustOBB()

◆ setOBBSize() [2/2]

void FK::fk_Boundary::setOBBSize ( fk_Vector  size)

有向境界ボックス (OBB) サイズ設定関数2

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

引数
[in]sizeOBBのサイズ
参照
setOBBSize(double, double, double), getOBBSize(), setBMode(), fk_Model::adjustOBB()

◆ setOBBMaxMin()

void FK::fk_Boundary::setOBBMaxMin ( fk_Vector  max,
fk_Vector  min 
)

有向境界ボックス (OBB) 最大最小設定関数

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

引数
[in]maxOBBの最大値側のベクトル
[in]minOBBの最小値側のベクトル
参照
setOBBSize(double, double, double, double, double, double), setOBBMax(), setOBBMin(), getOBBMax(), getOBBMin(), setBMode(), fk_Model::adjustOBB()

◆ setOBBMax()

void FK::fk_Boundary::setOBBMax ( fk_Vector  v)

有向境界ボックス (OBB) 最大値側設定関数

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

引数
[in]vOBBの最大値側のベクトル
参照
setOBBMaxMin(fk_Vector, fk_Vector), setOBBMin(), getOBBMax(), getOBBMin(), setBMode(), fk_Model::adjustOBB()

◆ setOBBMin()

void FK::fk_Boundary::setOBBMin ( fk_Vector  v)

有向境界ボックス (OBB) 最小値側設定関数

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

引数
[in]vOBBの最大値側のベクトル
参照
setOBBMaxMin(fk_Vector, fk_Vector), setOBBMax(), getOBBMax(), getOBBMin(), setBMode(), fk_Model::adjustOBB()

◆ getOBBSize()

fk_Vector FK::fk_Boundary::getOBBSize ( void  )

有向境界ボックス (OBB) サイズ取得関数

現在設定されている有向境界ボックス (OBB) のサイズを取得します。

戻り値
IBBの大きさ
参照
setOBBSize(double, double, double), setOBBSize(fk_Vector), fk_Model::adjustOBB()

◆ getOBBMax()

fk_Vector FK::fk_Boundary::getOBBMax ( void  )

有向境界ボックス (OBB) 最大値側取得関数

現在設定されている有向境界ボックス (OBB) の最大値側を取得します。

戻り値
OBBの最大値側
参照
setOBBMax(), getOBBMin(), fk_Model::adjustOBB()

◆ getOBBMin()

fk_Vector FK::fk_Boundary::getOBBMin ( void  )

有向境界ボックス (OBB) 最小値側取得関数

現在設定されている有向境界ボックス (OBB) の最小値側を取得します。

戻り値
OBBの最小値側
参照
setOBBMin(), getOBBMax(), fk_Model::adjustOBB()

◆ getOBBMaxMin()

std::tuple< fk_Vector, fk_Vector > FK::fk_Boundary::getOBBMaxMin ( void  )

有向境界ボックス (OBB) 最大最小取得関数

有向境界ボックス (OBB) の各成分の最大値と最小値を取得します。 各成分はグローバル座標系に対応します。 自動的に OBB のサイズを設定したい場合は fk_Model::adjustOBB() を用いて下さい。

戻り値
第1要素に最大値側ベクトル、第2要素に最小値側ベクトルが返ります。
参照
setOBBMax(), setOBBMin(), getOBBMax(), getOBBMin(), setBMode(), fk_Model::adjustOBB()

◆ setCapsule()

void FK::fk_Boundary::setCapsule ( fk_Vector  sPos,
fk_Vector  ePos,
double  r 
)

カプセル型設定関数

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

引数
[in]sPos中心軸端点(始点側)の位置ベクトル
[in]ePos中心軸端点(終点側)の位置ベクトル
[in]r中心軸からの領域規定距離
参照
getCapsuleRadius(), getCapsuleLength(), getCapsuleStartPos(), getCapsuleEndPos(), setBMode(), fk_Model::adjustCapsule()

◆ setCapsuleStartPos()

void FK::fk_Boundary::setCapsuleStartPos ( fk_Vector  argP)

カプセル型中心軸始点設定関数

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

引数
[in]argPカプセル型の中心軸の始点位置ベクトル
参照
setCapsule(), getCapsuleStartPos(), fk_Model::adjustCapsule()

◆ setCapsuleEndPos()

void FK::fk_Boundary::setCapsuleEndPos ( fk_Vector  argP)

カプセル型中心軸終点設定関数

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

引数
[in]argPカプセル型の中心軸の終点位置ベクトル
参照
setCapsule(), getCapsuleEndPos(), fk_Model::adjustCapsule()

◆ setCapsuleRadius()

void FK::fk_Boundary::setCapsuleRadius ( double  r)

カプセル型領域規定距離設定関数

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

引数
[in]rカプセル型の領域規定距離
参照
setCapsule(), getCapsuleRadius(), setCapsule()

◆ getCapsuleRadius()

double FK::fk_Boundary::getCapsuleRadius ( void  )

カプセル型領域規定距離取得関数

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

戻り値
カプセル型の領域規定距離
参照
setCapsule(), fk_Model::adjustCapsule()

◆ getCapsuleLength()

double FK::fk_Boundary::getCapsuleLength ( void  )

カプセル型中心軸長取得関数

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

戻り値
カプセル型の中心軸の長さ
参照
setCapsule(), fk_Model::adjustCapsule()

◆ getCapsulePos()

std::tuple< fk_Vector, fk_Vector > FK::fk_Boundary::getCapsulePos ( void  )

カプセル型中心軸両端点取得関数

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

戻り値
カプセル型の中心軸の両端点位置ベクトル
参照
setCapsule(), fk_Model::adjustCapsule()

◆ getCapsuleStartPos()

fk_Vector FK::fk_Boundary::getCapsuleStartPos ( void  )

カプセル型中心軸始点取得関数

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

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

◆ getCapsuleEndPos()

fk_Vector FK::fk_Boundary::getCapsuleEndPos ( void  )

カプセル型中心軸終点取得関数

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

戻り値
カプセル型の中心軸の両端点位置ベクトル
参照
setCapsule(), fk_Model::adjustCapsule()

◆ setBDrawToggle()

void FK::fk_Boundary::setBDrawToggle ( bool  mode)

境界ボリューム描画有無設定関数

境界ボリュームに対し、描画の有無を制御します。

引数
[in]modetrue である場合、描画が有効となります。false である場合は無効となります。
参照
getBDrawToggle(), setBLineColor(), setBIntLineColor(), setBLineWidth()

◆ getBDrawToggle()

bool FK::fk_Boundary::getBDrawToggle ( void  )

境界ボリューム描画有無取得関数

現在の境界ボリューム描画状態を取得します。

戻り値
現在の境界ボリューム描画が有効の場合 true を、 無効の場合 false を返します。
参照
setBDrawToggle()

◆ setBLineColor()

void FK::fk_Boundary::setBLineColor ( fk_Color  col)

境界ボリューム非干渉描画色設定関数

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

引数
[in]col線色
参照
getBLineColor(), setBIntLineColor(), setBDrawToggle(), fk_Model::isInter(), fk_Model::setInterMode()

◆ getBLineColor()

fk_Color * FK::fk_Boundary::getBLineColor ( void  )

境界ボリューム非干渉描画色取得関数

境界ボリューム描画の際に、非干渉状態である場合の線色を取得します。

戻り値
線色
参照
setBLineColor(), getBIntLineColor()

◆ setBIntLineColor()

void FK::fk_Boundary::setBIntLineColor ( fk_Color  col)

境界ボリューム干渉状態描画色設定関数

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

覚え書き
この線色で描画される条件は、 fk_Model::setInterMode() による設定によって異なります。
引数
[in]col線色
参照
getBIntLineColor(), setBLineColor(), setBDrawToggle(), fk_Model::isInter(), fk_Model::setInterMode()

◆ getBIntLineColor()

fk_Color * FK::fk_Boundary::getBIntLineColor ( void  )

境界ボリューム干渉状態描画色取得関数

境界ボリューム描画の際に、干渉状態である場合の線色を取得します。

戻り値
線色
参照
setBIntLineColor(), getBLineColor()

◆ setBLineWidth()

void FK::fk_Boundary::setBLineWidth ( double  width)

境界ボリューム描画線幅設定関数

境界ボリューム描画の際の線幅を設定します。

引数
[in]width線幅
参照
setBDrawToggle(), setBLineColor(), setBIntLineColor()

◆ getBLineWidth()

double FK::fk_Boundary::getBLineWidth ( void  )

境界ボリューム描画線幅取得関数

境界ボリューム描画の際の線幅を取得します。

戻り値
線幅
参照
setBLineWidth()