13GX_UTILITY_NAMESPACE_BEGIN()
31 enum class DEVELOP_RENDER_MODE
39 GX_ENUM_TABLE_MAX(DEVELOP_RENDER_MODE)
67 void cleanup(
void)
override;
70 void postAsyncUpdate(
void)
override;
72 void render(
void)
override;
76 virtual b32 check(s32 jointIndex,
const GxVector3 & position, f32 updateRatio, f32 updateRatioOld,
GxVector3& direct,
GxVector3& normal, f32 radius);
89 GxHitBase* getCollisionDataFromID(u32
id);
95 virtual void developRender(
void);
98 constexpr DEVELOP_RENDER_MODE getDevelopRenderMode(
void)
const {
return _developRenderMode; }
100 constexpr void setDevelopRenderMode(DEVELOP_RENDER_MODE mode) { _developRenderMode = mode; }
114 DEVELOP_RENDER_MODE _developRenderMode;
351GX_UTILITY_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
コリジョンデータクラス
Definition GxResSoftbodyCollision.h:56
OPERATION_TYPE
衝突時の振る舞い
Definition GxResSoftbodyCollision.h:71
static constexpr u32 HIT_JOINT_MAX
特定ジョイントのみにあたる機能を利用時に設定できるジョイント数
Definition GxResSoftbodyCollision.h:66
モデル対応コリジョンリソースクラス
Definition GxResSoftbodyCollision.h:18
OBJECT_TYPE
オブジェクトタイプ
Definition GxResSoftbodyCollision.h:31
@ CAPSULE2
カプセル(両端の半径が異なる)
ユニット基礎クラス
Definition GxUnitBase.h:45
virtual b32 setup(void)
セットアップ(初回にasyncUpdate前に一回呼ばれる)
Definition GxUnitBase.cpp:92
モデル基礎クラス
Definition GxUnitModelBase.h:19
クロスシミュレーション用コリジョンクラス : 基礎形状クラス
Definition GxUnitSoftbodyCollision.h:124
b32 startAnalyse(s32 targetJointIndex)
質点についているジョイントから自身と当たれるかどうか解析
Definition GxUnitSoftbodyCollision.cpp:384
GxUnitModelBase * _pParentModel
親モデル
Definition GxUnitSoftbodyCollision.h:172
s32 _hitJointIndex[GxResSoftbodyCollision::GxSoftbodyCollisionData::HIT_JOINT_MAX]
ヒット判定をするジョイント(↑がtrueの場合のみ有効で-1は無効値)
Definition GxUnitSoftbodyCollision.h:179
GxVector3 _spherePosition
外接球中心 / 球ではそのまま使う
Definition GxUnitSoftbodyCollision.h:176
GxVector3 _spherePositionOld
外接球中心 / 球ではそのまま使う
Definition GxUnitSoftbodyCollision.h:177
virtual b32 check(s32 jointIndex, const GxVector3 &position, f32 updateRatio, f32 updateRatioOld, GxVector3 &direct, GxVector3 &normal, f32 radius)=0
チェック
f32 _sphereRadius
外接球半径 / 球ではそのまま使う
Definition GxUnitSoftbodyCollision.h:175
GxResSoftbodyCollision::OBJECT_TYPE _objectType
オブジェクトタイプ
Definition GxUnitSoftbodyCollision.h:173
b32 _enable
有効/無効
Definition GxUnitSoftbodyCollision.h:174
GxResSoftbodyCollision::GxSoftbodyCollisionData::OPERATION_TYPE _hitOperationType
衝突時の振る舞い
Definition GxUnitSoftbodyCollision.h:178
virtual void update(GxUnitModelBase *pPrentModel)=0
更新
b32 executeAnalyse(GxUnitModelBase::GxJoint *pNow, s32 targetJointIndex)
質点についているジョイントから自身と当たれるかどうか解析開始
Definition GxUnitSoftbodyCollision.cpp:353
u32 _id
任意ID
Definition GxUnitSoftbodyCollision.h:180
クロスシミュレーション用コリジョンクラス : カプセル 2 形状クラス
Definition GxUnitSoftbodyCollision.h:277
f32 _r2
カプセル半径 2
Definition GxUnitSoftbodyCollision.h:308
b32 check(s32 jointIndex, const GxVector3 &position, f32 updateRatio, f32 updateRatioOld, GxVector3 &direct, GxVector3 &normal, f32 radius) override
チェック
Definition GxUnitSoftbodyCollision.cpp:768
void update(GxUnitModelBase *pParentModel) override
更新
Definition GxUnitSoftbodyCollision.cpp:753
クロスシミュレーション用コリジョンクラス : カプセル 3 形状クラス
Definition GxUnitSoftbodyCollision.h:317
クロスシミュレーション用コリジョンクラス : カプセル形状クラス
Definition GxUnitSoftbodyCollision.h:230
void update(GxUnitModelBase *pParentModel) override
更新
Definition GxUnitSoftbodyCollision.cpp:559
GxVector3 _offset[2]
端ボーンからのオフセット
Definition GxUnitSoftbodyCollision.h:263
u32 _jointIndex[2]
両端点が参照するボーン番号
Definition GxUnitSoftbodyCollision.h:262
f32 _radius
カプセル半径
Definition GxUnitSoftbodyCollision.h:261
GxVector3 _vector
芯
Definition GxUnitSoftbodyCollision.h:266
GxVector3 _position[2]
両端点
Definition GxUnitSoftbodyCollision.h:264
b32 check(s32 jointIndex, const GxVector3 &position, f32 updateRatio, f32 updateRatioOld, GxVector3 &direct, GxVector3 &normal, f32 radius) override
チェック
Definition GxUnitSoftbodyCollision.cpp:610
GxVector3 _positionOld[2]
旧両端点
Definition GxUnitSoftbodyCollision.h:265
GxVector3 _vectorOld
旧芯、旧芯
Definition GxUnitSoftbodyCollision.h:267
f32 _radiusOld
旧外接球半径
Definition GxUnitSoftbodyCollision.h:268
クロスシミュレーション用コリジョンクラス : 球形状クラス
Definition GxUnitSoftbodyCollision.h:189
u32 _jointIndex
端点が参照するボーン番号
Definition GxUnitSoftbodyCollision.h:220
b32 check(s32 jointIndex, const GxVector3 &position, f32 updateRatio, f32 updateRatioOld, GxVector3 &direct, GxVector3 &normal, f32 radius) override
チェック
Definition GxUnitSoftbodyCollision.cpp:486
void update(GxUnitModelBase *pParentModel) override
更新
Definition GxUnitSoftbodyCollision.cpp:451
GxVector3 _offset
端ボーンからのオフセット
Definition GxUnitSoftbodyCollision.h:221
クロスシミュレーション用コリジョンクラス
Definition GxUnitSoftbodyCollision.h:18
u32 _collisionDataCount
あたり総数
Definition GxUnitSoftbodyCollision.h:109
constexpr GxUnitModelBase * getParentModel(void) const
コリジョンを付与するモデル取得
Definition GxUnitSoftbodyCollision.h:91
GxHitBase ** _ppCollisionData
あたりデータ
Definition GxUnitSoftbodyCollision.h:110
GxUnitModelBase * _pParentModel
あたりをつけるモデル
Definition GxUnitSoftbodyCollision.h:111
constexpr u32 getCollisionDataCount(void) const
データ総数取得
Definition GxUnitSoftbodyCollision.h:85
constexpr GxHitBase ** getCollisionData(void) const
データ取得
Definition GxUnitSoftbodyCollision.h:87
アフィン変換行列(行優先)
Definition GxMatrix.h:330
関節構造体
Definition GxUnitModelBase.h:795
3次元ベクトル
Definition GxVector.h:245
32bitブーリアン
Definition GxDefine.h:173