クロスシミュレーション用コリジョンクラス : 基礎形状クラス More...
#include <GxUnitSoftbodyCollision.h>
Public Member Functions | |
定義 | |
操作 | |
virtual b32 | setup (GxUnitModelBase *pParentModel, GxResSoftbodyCollision::GxSoftbodyCollisionData *pObject)=0 |
初期化 | |
virtual void | update (GxUnitModelBase *pPrentModel)=0 |
更新 | |
virtual b32 | check (s32 jointIndex, const GxVector3 &position, f32 updateRatio, f32 updateRatioOld, GxVector3 &direct, GxVector3 &normal, f32 radius)=0 |
チェック | |
b32 | startAnalyse (s32 targetJointIndex) |
質点についているジョイントから自身と当たれるかどうか解析 | |
b32 | executeAnalyse (GxUnitModelBase::GxJoint *pNow, s32 targetJointIndex) |
質点についているジョイントから自身と当たれるかどうか解析開始 | |
Public Attributes | |
メンバ変数 | |
GxUnitModelBase * | _pParentModel |
親モデル | |
GxResSoftbodyCollision::OBJECT_TYPE | _objectType |
オブジェクトタイプ | |
b32 | _enable |
有効/無効 | |
f32 | _sphereRadius |
外接球半径 / 球ではそのまま使う | |
GxVector3 | _spherePosition |
外接球中心 / 球ではそのまま使う | |
GxVector3 | _spherePositionOld |
外接球中心 / 球ではそのまま使う | |
GxResSoftbodyCollision::GxSoftbodyCollisionData::OPERATION_TYPE | _hitOperationType |
衝突時の振る舞い | |
s32 | _hitJointIndex [GxResSoftbodyCollision::GxSoftbodyCollisionData::HIT_JOINT_MAX] |
ヒット判定をするジョイント(↑がtrueの場合のみ有効で-1は無効値) | |
u32 | _id |
任意ID | |
クロスシミュレーション用コリジョンクラス : 基礎形状クラス
|
pure virtual |
チェック
現在の形状に、pos で与えられた点が内包されているかどうか調べる関数。
内包されているときは、引数に与えられた参照変数に結果を与える。
Implemented in GxUnitSoftbodyCollision::GxHitCapsule2, GxUnitSoftbodyCollision::GxHitCapsule, and GxUnitSoftbodyCollision::GxHitSphere.
b32 GxUnitSoftbodyCollision::GxHitBase::executeAnalyse | ( | GxUnitModelBase::GxJoint * | pJointNow, |
s32 | targetJointIndex ) |
質点についているジョイントから自身と当たれるかどうか解析開始
pJointNow | [in] 関節 |
targetJointIndex | [in] 関節インデックス |
|
pure virtual |
初期化
pParentModel | [in] 親モデル |
pObject | [in] オブジェクト |
Implemented in GxUnitSoftbodyCollision::GxHitCapsule2, GxUnitSoftbodyCollision::GxHitCapsule3, GxUnitSoftbodyCollision::GxHitCapsule, and GxUnitSoftbodyCollision::GxHitSphere.
b32 GxUnitSoftbodyCollision::GxHitBase::startAnalyse | ( | s32 | targetJointIndex | ) |
質点についているジョイントから自身と当たれるかどうか解析
targetJointIndex | [in] 関節インデックス |
|
pure virtual |
更新
指定されたモデルと所有している関節番号を元に、位置情報を更新するための関数。
ただし、関節番号は形状によって個数が違うため、サブクラスにて宣言。
また、チェック時に現在のフレームにおけるステップ分割時の位置を把握するため、直前の位置やサイズを保持する。
Implemented in GxUnitSoftbodyCollision::GxHitCapsule2, GxUnitSoftbodyCollision::GxHitCapsule, and GxUnitSoftbodyCollision::GxHitSphere.