OROCHI
 
Loading...
Searching...
No Matches
GxUnitSoftbodyCollision::GxHitBase Class Referenceabstract

クロスシミュレーション用コリジョンクラス : 基礎形状クラス More...

#include <GxUnitSoftbodyCollision.h>

Inheritance diagram for GxUnitSoftbodyCollision::GxHitBase:
Collaboration diagram for GxUnitSoftbodyCollision::GxHitBase:

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
 

Detailed Description

クロスシミュレーション用コリジョンクラス : 基礎形状クラス

Member Function Documentation

◆ check()

virtual b32 GxUnitSoftbodyCollision::GxHitBase::check ( s32 jointIndex,
const GxVector3 & position,
f32 updateRatio,
f32 updateRatioOld,
GxVector3 & direct,
GxVector3 & normal,
f32 radius )
pure virtual

チェック

現在の形状に、pos で与えられた点が内包されているかどうか調べる関数。
内包されているときは、引数に与えられた参照変数に結果を与える。

Implemented in GxUnitSoftbodyCollision::GxHitCapsule2, GxUnitSoftbodyCollision::GxHitCapsule, and GxUnitSoftbodyCollision::GxHitSphere.

Here is the caller graph for this function:

◆ executeAnalyse()

b32 GxUnitSoftbodyCollision::GxHitBase::executeAnalyse ( GxUnitModelBase::GxJoint * pJointNow,
s32 targetJointIndex )

質点についているジョイントから自身と当たれるかどうか解析開始

Parameters
pJointNow[in] 関節
targetJointIndex[in] 関節インデックス
Returns
当たれるならtrue
Here is the call graph for this function:

◆ setup()

b32 GxUnitSoftbodyCollision::GxHitBase::setup ( GxUnitModelBase * pParentModel,
GxResSoftbodyCollision::GxSoftbodyCollisionData * pObject )
pure virtual

初期化

Parameters
pParentModel[in] 親モデル
pObject[in] オブジェクト
Returns
成功ならtrue

Implemented in GxUnitSoftbodyCollision::GxHitCapsule2, GxUnitSoftbodyCollision::GxHitCapsule3, GxUnitSoftbodyCollision::GxHitCapsule, and GxUnitSoftbodyCollision::GxHitSphere.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ startAnalyse()

b32 GxUnitSoftbodyCollision::GxHitBase::startAnalyse ( s32 targetJointIndex)

質点についているジョイントから自身と当たれるかどうか解析

Parameters
targetJointIndex[in] 関節インデックス
Returns
当たれるならtrue
Here is the call graph for this function:

◆ update()

virtual void GxUnitSoftbodyCollision::GxHitBase::update ( GxUnitModelBase * pPrentModel)
pure virtual

更新

指定されたモデルと所有している関節番号を元に、位置情報を更新するための関数。
ただし、関節番号は形状によって個数が違うため、サブクラスにて宣言。
また、チェック時に現在のフレームにおけるステップ分割時の位置を把握するため、直前の位置やサイズを保持する。

Implemented in GxUnitSoftbodyCollision::GxHitCapsule2, GxUnitSoftbodyCollision::GxHitCapsule, and GxUnitSoftbodyCollision::GxHitSphere.

Here is the caller graph for this function:

The documentation for this class was generated from the following files: