56 GX_ENUM_TABLE_COUNT(COLLISION_SHAPE, 7)
60 struct GxConvexCallback;
61 class GxConditionInformation;
114 virtual void deleteObject(
GxObject* pObject );
117 virtual void detachObject(
GxObject* pObject );
123 virtual void prepareCheck(
void);
126 virtual void update(
void);
147 virtual void executePostCheckCallback(
void);
156 virtual GxObject* addObject(
void);
171 void setActive(
b32 active);
178 constexpr u32 getActiveObjectCount(
void )
const {
return _activeObjectCount; }
180 constexpr u32 getMeshTriangleCount(
void )
const {
return _meshTriangleCount; }
182 GX_FORCE_INLINE
void setUnitName(GX_CSTR name) { _unitName = name; }
184 GX_FORCE_INLINE GX_CSTR getUnitName(
void) {
return _unitName.getString(); }
190 GX_FORCE_INLINE
void setPropertyActive(
const void*
const pValue) { setActive( *
static_cast<b32*
>(
const_cast<void*
>(pValue))); }
217 u32 _activeObjectCount;
218 u32 _meshTriangleCount;
292 virtual
void check(
void);
312 static void customNearCallback(btBroadphasePair& collisionPair, btCollisionDispatcher& dispatcher,
const btDispatcherInfo& dispatchInfo);
381 void freeListClass(
void);
383 void clearListClass(
void);
398 GX_FORCE_INLINE
void setName( GX_CSTR name ) { _name = name; }
400 constexpr GX_CSTR getName(
void )
const {
return _name.getString(); }
431 constexpr u32 getActiveObjectCount(
void )
const {
return _activeObjectCount; }
433 constexpr u32 getMeshTriangleCount(
void )
const {
return _meshTriangleCount; }
475 u32 _activeObjectCount;
476 u32 _meshTriangleCount;
536 virtual void update(
void);
645 GX_FORCE_INLINE
b32 getActiveFlag(u32 flag)
const {
return (_activeFlag & flag) ? true :
false; }
649 GX_FORCE_INLINE
void setActiveFlag(u32 flag,
b32 value) { _activeFlag = (value) ? (_activeFlag | flag) : (_activeFlag & ~flag); }
664 constexpr u32
getId(
void)
const {
return _id; }
666 constexpr void setId(u32
id) { _id = id; }
671 constexpr void setMaterial(s32 material) { _material = material; }
706 constexpr s16
getGroup(
void )
const {
return _group; }
708 constexpr s16
getMask(
void )
const {
return _mask; }
772 btCollisionObject _btObject;
856 : ClosestRayResultCallback(rayFromWorld, rayToWorld)
877 btScalar
addSingleResult(btCollisionWorld::LocalRayResult& rayResult,
bool normalInWorldSpace)
override;
906 : ClosestConvexResultCallback(rayFromWorld, rayToWorld)
927 btScalar
addSingleResult(btCollisionWorld::LocalConvexResult& convexResult,
bool normalInWorldSpace)
override;
1012GX_PHYSICS_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE(__CLASS__)
GxClassBase継承の禁止宣言
Definition GxBase.h:240
#define GX_PHYSICS_NAMESPACE_BEGIN()
ネームスペースマクロ
Definition GxPhysics.h:28
PRIMITIVE_FILL_MODE
塗りつぶしモード
Definition GxPrimitive.h:31
配列クラス
Definition GxArrayClassBase.h:18
constexpr u32 getCount(void) const
配列数を取得
Definition GxArrayClassBase.h:109
オブジェクト基底クラス
Definition GxBase.h:88
基底クラス
Definition GxBase.h:51
Collision基本オブジェクトクラス
Definition GxCollision.h:489
constexpr void setCollision(GxCollision *pCollision)
親コリジョンの設定
Definition GxCollision.h:758
virtual b32 createSphere(b32 active, u32 id, const GxMatrixAffine *pMatrix, const GxVector3 &offset, const GxShapeSphere &sphere)
球の作成
Definition GxCollision.cpp:1834
GX_FORCE_INLINE GxMatrixAffine getMatrix0(void) const
マトリクス0の取得
Definition GxCollision.h:626
constexpr GxCollision::GxWorld * getRegisterWorld(void) const
登録したワールドのアドレスを取得
Definition GxCollision.h:612
virtual GX_FORCE_INLINE void initializeUpdate(void)
更新前のパラメタ初期化(1フレームに複数回呼ばれる可能性もある)
Definition GxCollision.h:557
virtual b32 isHitCheckFlagTrimesh(u32 triangleIndex, u32 targetFlag)
メッシュ形状の三角形単位で、チェックフラグから当たり判定が必要かを調べる
Definition GxCollision.cpp:1789
GX_FORCE_INLINE b32 isActive(void) const
アクティブかどうか取得
Definition GxCollision.h:652
GX_FORCE_INLINE const GxMatrixAffine * getMatrixAddress1(void) const
マトリクス1のアドレス取得
Definition GxCollision.h:619
b32 setCylinderExtent(const f32 radius, const f32 heightHalf)
円柱のサイズ変更
Definition GxCollision.cpp:2282
const GxMatrixAffine getCenterMatrix(void)
中心のマトリクスを取得
Definition GxCollision.cpp:2437
~GxObject(void) override
デストラクタ
Definition GxCollision.cpp:1479
virtual GX_FORCE_INLINE void initializeActiveOff(void)
アクティブOFF時のパラメタ初期化
Definition GxCollision.h:554
b32 transformMeshVertex(const GxMatrixAffine &matrix)
メッシュ頂点の変形
Definition GxCollision.cpp:2311
constexpr void setMaterial(s32 material)
マテリアルの設定
Definition GxCollision.h:671
constexpr u32 getActiveFlagAll(void) const
全アクティブフラグ取得
Definition GxCollision.h:647
static constexpr u32 CHECK_FLAG_ALL
全フラグ定数
Definition GxCollision.h:513
void addOffset(const GxVector3 &offset)
オフセット加算
Definition GxCollision.cpp:1732
virtual void initialize(b32 active, u32 id, const GxMatrixAffine *pMatrix0, const GxVector3 &offset0, const GxMatrixAffine *pMatrix1, const GxVector3 &offset1)
オブジェクトの初期化
Definition GxCollision.cpp:2114
GX_FORCE_INLINE void setUnit(GxUnitBase *pUnit)
ユニット設定
Definition GxCollision.h:661
f32 getRadiusMin(void)
最小半径の取得
Definition GxCollision.cpp:2520
GX_FORCE_INLINE void updateActiveFlag(void)
アクティブフラグ更新
Definition GxCollision.h:592
const GxVector3 getNormal(const GxVector3 &position)
法線の取得
Definition GxCollision.cpp:2608
constexpr s32 getMaterial(void) const
マテリアルの取得
Definition GxCollision.h:669
GX_FORCE_INLINE void setActiveFlag(u32 flag, b32 value)
アクティブフラグ設定
Definition GxCollision.h:649
constexpr u32 getCheckFlag(void) const
チェックフラグの取得
Definition GxCollision.h:674
virtual b32 isNeedCheck(GxObject *pCollisionObject)
お互いの当たり判定が必要かどうか
Definition GxCollision.cpp:1743
GX_FORCE_INLINE const GxVector3 & getOffset0(void) const
オフセット0の取得
Definition GxCollision.h:631
GX_FORCE_INLINE const GxVector3 & getOffset1(void) const
オフセット1の取得
Definition GxCollision.h:633
constexpr void offCheckFlag(u32 flag)
チェックフラグの無効化
Definition GxCollision.h:680
GX_FORCE_INLINE void setMatrixAddress0(const GxMatrixAffine *pMatrix)
マトリクス0のアドレス設定
Definition GxCollision.h:621
virtual GX_FORCE_INLINE void initializeActiveOn(void)
アクティブON時のパラメタ初期化
Definition GxCollision.h:551
virtual b32 createCylinder(b32 active, u32 id, const GxMatrixAffine *pMatrix, const GxVector3 &offset, const GxShapeCylinder &cylinder)
円柱の作成
Definition GxCollision.cpp:1952
constexpr void setPropertyActiveOld(const void *const)
前回のアクティブを設定
Definition GxCollision.h:753
virtual void prepareCheck(void)
当たり判定チェック前準備
Definition GxCollision.cpp:1518
GX_FORCE_INLINE GxMatrixAffine getMatrix1(void) const
マトリクス1の取得
Definition GxCollision.h:628
GX_FORCE_INLINE btCollisionObject * getBulletCollisionObject(void)
BULLETコリジョンオブジェクトの取得
Definition GxCollision.h:743
constexpr void setId(u32 id)
ID設定
Definition GxCollision.h:666
b32 setMultisphereRadius(f32 radius0, f32 radius1)
マルチ球の半径変更
Definition GxCollision.cpp:2184
btCollisionShape * _pBtShape
BULLET用形状
Definition GxCollision.h:769
virtual b32 createMultisphere(b32 active, u32 id, const GxMatrixAffine *pMatrix0, const GxVector3 &offset0, const GxMatrixAffine *pMatrix1, const GxVector3 &offset1, const GxShapeMultisphere &multisphere)
マルチ球の作成
Definition GxCollision.cpp:1911
GX_FORCE_INLINE void setQuaternion(const GxQuaternion &quaternion)
回転の設定
Definition GxCollision.h:642
virtual b32 createCapsule(b32 active, u32 id, const GxMatrixAffine *pMatrix, const GxVector3 &offset, const GxShapeCapsule &capsule)
カプセルの作成
Definition GxCollision.cpp:1989
virtual b32 isHitCheckFlag(u32 targetFlag)
チェックフラグからあたり判定が必要かを調べる
Definition GxCollision.cpp:1777
constexpr s16 getMask(void) const
マスクの取得
Definition GxCollision.h:708
b32 setBoxExtent(const GxVector3 &extent)
箱のサイズ変更
Definition GxCollision.cpp:2251
constexpr GxShape * getShape(void) const
GXオブジェクト形状の取得
Definition GxCollision.h:607
constexpr btCollisionShape * getBulletCollisionShape(void) const
BULLET形状の取得
Definition GxCollision.h:745
@ ACTIVE_FLAG_REQUEST_REGISTER
アクティブフラグON登録待ち
Definition GxCollision.h:507
@ ACTIVE_FLAG_ACTIVE
オブジェクトがアクティブ状態かどうか
Definition GxCollision.h:505
@ ACTIVE_FLAG_REQUEST_DELETE
オブジェクト削除待ち
Definition GxCollision.h:509
@ ACTIVE_FLAG_ACTIVE_OLD
オブジェクトがアクティブ状態だったかどうか
Definition GxCollision.h:506
@ ACTIVE_FLAG_REQUEST_BAN
アクティブフラグOFF登録待ち
Definition GxCollision.h:508
void setGroupMask(s16 group, s16 mask)
グループ・マスク設定
Definition GxCollision.cpp:1813
constexpr void setRegisterWorld(GxCollision::GxWorld *pWorld)
登録したワールドのアドレスを設定
Definition GxCollision.h:614
constexpr void onCheckFlag(u32 flag)
チェックフラグの有効化
Definition GxCollision.h:678
GX_FORCE_INLINE const GxQuaternion & getQuaternion(void)
回転の取得
Definition GxCollision.h:640
GX_FORCE_INLINE b32 getActiveFlag(u32 flag) const
アクティブフラグ取得
Definition GxCollision.h:645
constexpr u32 getId(void) const
ID取得
Definition GxCollision.h:664
GX_FORCE_INLINE const GxMatrixAffine * getMatrixAddress0(void) const
マトリクス0のアドレス取得
Definition GxCollision.h:617
GX_FORCE_INLINE void setPropertyActive(const void *const pValue)
アクティブを設定
Definition GxCollision.h:755
void setActive(b32 active)
アクティブかどうか設定
Definition GxCollision.cpp:1709
GX_FORCE_INLINE void setMatrixAddress1(const GxMatrixAffine *pMatrix)
マトリクス1のアドレス設定
Definition GxCollision.h:623
constexpr GxUnitBase * getUnit(void) const
ユニット取得
Definition GxCollision.h:659
b32 setCapsuleRadius(f32 radius)
カプセルの半径変更
Definition GxCollision.cpp:2218
constexpr void setCheckFlag(u32 flag)
チェックフラグの設定
Definition GxCollision.h:676
GX_FORCE_INLINE void updateUnitPointer(void)
ユニットポインタの更新
Definition GxCollision.h:598
void getCenterPosition(GxVector3 ¢erPosition)
中心位置の取得
Definition GxCollision.cpp:2358
b32 setSphereRadius(f32 radius)
球の半径変更
Definition GxCollision.cpp:2152
GX_FORCE_INLINE void getPropertyActive(void *const pValue)
アクティブを取得
Definition GxCollision.h:750
GX_FORCE_INLINE void setOffset0(const GxVector3 &offset)
オフセット0の設定
Definition GxCollision.h:635
constexpr COLLISION_SHAPE getShapeType(void) const
オブジェクト形状タイプの取得
Definition GxCollision.h:609
GX_FORCE_INLINE void getPropertyActiveOld(void *const pValue)
前回のアクティブを取得
Definition GxCollision.h:748
virtual void update(void)
オブジェクト位置の更新
Definition GxCollision.cpp:1542
constexpr GxCollision * getCollision(void) const
親コリジョンの取得
Definition GxCollision.h:761
GxObject(void)
デフォルトコンストラクタ
Definition GxCollision.cpp:1455
virtual b32 createBox(b32 active, u32 id, const GxMatrixAffine *pMatrix, const GxVector3 &offset, const GxShapeBox &box)
ボックスの作成
Definition GxCollision.cpp:1871
GX_FORCE_INLINE void setOffset1(const GxVector3 &offset)
オフセット1の設定
Definition GxCollision.h:637
void resetBulletShape(btCollisionShape *pBtShapeNew)
Bullet形状を再設定
Definition GxCollision.cpp:2623
constexpr s16 getGroup(void) const
グループの取得
Definition GxCollision.h:706
virtual b32 createMesh(b32 active, const GxMatrixAffine *pMatrix, const GxVector3 &offset, const GxShapeTrimesh &trimesh, btTriangleIndexVertexArray *pVertex, b32 isCompress, GxVector3 *pAabbMin=nullptr, GxVector3 *pAabbMax=nullptr)
メッシュの作成
Definition GxCollision.cpp:2035
Collision基本ワールドクラス
Definition GxCollision.h:236
GX_FORCE_INLINE void setActive(b32 active)
アクティブ設定
Definition GxCollision.h:392
b32 checkCapsuleClosestVsSingle(GxCollision::GxRayResult &rayResult, GxObject *pTargetObject, const GxVector3 &startPosition, const GxVector3 &endPosition, f32 radius, GxConditionInformation *pConditionInfo=nullptr)
Definition GxCollision.cpp:1378
GxCollision::GxObject * getMesh(u32 index)
メッシュアドレスの取得
Definition GxCollision.cpp:1146
static constexpr u32 COLLISION_ALGORITHM_NUM
アルゴリズム個数
Definition GxCollision.h:250
virtual GxCollision::GxRayCallback * createRayCallback(const btVector3 &rayFrom, const btVector3 &rayEnd, GxConditionInformation *pConditionInfo)
Definition GxCollision.cpp:1188
b32 _active
処理を実行するかフラグ
Definition GxCollision.h:450
virtual void registerObject(GxCollision::GxObject *pObject)
ワールドにオブジェクトを登録する
Definition GxCollision.cpp:838
b32 setListClassCount(u32 count)
リスト個数設定
Definition GxCollision.cpp:767
u32 _btMaxPersistentManifoldPoolSize
Bulletのマニフォールドの最大プールサイズ
Definition GxCollision.h:465
u32 _btMaxCollisionAlgorithmPoolSize
Bulletのコリジョンアルゴリズム最大プールサイズ
Definition GxCollision.h:466
GxArrayClassBase _collisionList
Collisionクラスを記憶するリスト
Definition GxCollision.h:454
GxVector3 _worldAabbMax
ワールドAABBのMax
Definition GxCollision.h:462
u16 _maxHandles
当たり判定オブジェクト個数
Definition GxCollision.h:463
static void customNearCallback(btBroadphasePair &collisionPair, btCollisionDispatcher &dispatcher, const btDispatcherInfo &dispatchInfo)
近距離当たり判定コールバック(BULLETで用意されたものをオーバーライド)
Definition GxCollision.cpp:741
GX_FORCE_INLINE void setPropertyListClassCount(u32 count)
リスト個数設定
Definition GxCollision.h:442
b32 addMesh(u32 index, GxCollision::GxObject *pMesh)
背景当たりをリストに追加
Definition GxCollision.cpp:1088
void addClass(u32 threadIndex, GxCollision *pObject)
クラス登録
Definition GxCollision.cpp:882
b32 deleteBulletWorld(void)
Definition GxCollision.cpp:1015
b32 eraseMesh(GxCollision::GxObject *pMesh)
メッシュをリストから削除(アドレス指定版)
Definition GxCollision.cpp:1115
GX_FORCE_INLINE b32 isActive(void)
アクティブか判定
Definition GxCollision.h:394
b32 checkRayClosestVsSingle(GxCollision::GxRayResult &rayResult, GxObject *pTargetObject, const GxVector3 &startPosition, const GxVector3 &endPosition, GxConditionInformation *pConditionInfo=nullptr)
指定オブジェクトとのレイチェック
Definition GxCollision.cpp:1247
btCollisionAlgorithmCreateFunc * _pBulletAlgorithmCreateFunction[COLLISION_ALGORITHM_NUM]
BULLET判定用アルゴリズム
Definition GxCollision.h:459
u32 _btStackAllocatorSize
Bulletのスタックアロケーターサイズ
Definition GxCollision.h:464
GxVector3 _worldAabbMin
ワールドAABBのMin
Definition GxCollision.h:461
b32 createBulletWorld(void)
Definition GxCollision.cpp:958
virtual void check(void)
Definition GxCollision.cpp:664
virtual GxCollision::GxConvexCallback * createConvexCallback(const btVector3 &checkFrom, const btVector3 &checkEnd, GxConditionInformation *pConditionInfo)
Definition GxCollision.cpp:1304
constexpr u32 getCollisionCount(void) const
登録コリジョンの個数を取得
Definition GxCollision.h:423
constexpr btCollisionWorld * getBulletWorld(void) const
Bulletワールドを取得
Definition GxCollision.h:330
btCollisionConfiguration * _pBulletConfiguration
BULLET当たり設定
Definition GxCollision.h:455
constexpr u32 getListClassCount(void) const
リスト個数取得
Definition GxCollision.h:416
virtual void preBulletUpdate(void)
Definition GxCollision.cpp:692
virtual GX_FORCE_INLINE void postBulletUpdate(void)
Definition GxCollision.h:302
constexpr GxArrayClassBase * getListClass(u32 index) const
リストの取得
Definition GxCollision.h:420
GX_FORCE_INLINE void getPropertyList(void *const pValue, u32 index)
再生クラスアドレスの取得
Definition GxCollision.h:438
static constexpr u32 GX_COLLISION_DEFAULT_MAX_COLLISION_ALGORITHM_POOL_SIZE
コリジョンのコリジョンアルゴリズム用最大プールサイズデフォルト値
Definition GxCollision.h:256
GxArrayClassBase ** _ppCollisionList
AddされたCollisionクラスをスレッド毎に記憶するリスト
Definition GxCollision.h:453
void freeMesh(void)
メッシュリストの解放
Definition GxCollision.cpp:1075
virtual void prepareCheck(void)
当たり判定チェック前準備
Definition GxCollision.cpp:636
btCollisionDispatcher * _pBulletDispatcher
BULLET当たり判定用
Definition GxCollision.h:456
GX_FORCE_INLINE GxArrayClassBase * getCollisionList(void)
登録コリジョンリストを取得
Definition GxCollision.h:425
btAxisSweep3 * _pBulletBroadphase
BULLETブロードフェイズ処理用
Definition GxCollision.h:457
virtual b32 alloc(u32 meshCount, const GxVector3 &worldAabbMin, const GxVector3 &worldAabbMax, u16 maxHandles, u32 stackAllocatorSize=GX_COLLISION_DEFAULT_STACK_ALLOCATOR_SIZE, u32 maxPersistentManifoldPoolSize=GX_COLLISION_DEFAULT_MAX_PERSISTENT_MANIFOLD_POOL_SIZE, u32 maxCollisionAlgorithmPoolSize=GX_COLLISION_DEFAULT_MAX_COLLISION_ALGORITHM_POOL_SIZE)
ワールドのメモリ確保
Definition GxCollision.cpp:582
b32 setMeshCount(u32 count)
メッシュ登録個数設定
Definition GxCollision.cpp:1046
virtual void executePostCheckCallback(void)
chekc後コールバックを実行
Definition GxCollision.cpp:724
u32 getActiveMeshCount(void)
アクティブな個数の取得
Definition GxCollision.cpp:1163
void detachObjectFromBullet(GxObject *pObject)
Bulletワールドからデタッチ
Definition GxCollision.cpp:943
static constexpr u32 GX_COLLISION_DEFAULT_MAX_PERSISTENT_MANIFOLD_POOL_SIZE
コリジョンの汎用的な最大プールサイズデフォルト値
Definition GxCollision.h:254
void banObject(GxCollision::GxObject *pObject)
ワールドからオブジェクトを登録解除する
Definition GxCollision.cpp:860
static constexpr u32 GX_COLLISION_DEFAULT_STACK_ALLOCATOR_SIZE
コリジョンのスタックアロケーターサイズデフォルト値
Definition GxCollision.h:252
GX_FORCE_INLINE void setPropertyList(const void *const, u32)
再生クラスアドレスの設定
Definition GxCollision.h:440
btCollisionWorld * _pBulletWorld
BULLETコリジョンワールド
Definition GxCollision.h:458
u32 _listClassCount
リストの個数
Definition GxCollision.h:452
virtual GX_FORCE_INLINE void postCheck(void)
check後処理
Definition GxCollision.h:309
b32 checkRayClosestVsWorld(GxCollision::GxRayResult &rayResult, const GxVector3 &startPosition, const GxVector3 &endPosition, GxConditionInformation *pConditionInfo=nullptr)
登録されている全オブジェクトとのレイチェック(最も近い交差点)
Definition GxCollision.cpp:1201
b32 checkCapsuleClosestVsWorld(GxCollision::GxRayResult &rayResult, const GxVector3 &startPosition, const GxVector3 &endPosition, f32 radius, GxConditionInformation *pConditionInfo=nullptr)
Definition GxCollision.cpp:1319
void detachClass(GxCollision *pCollision)
クラス削除
Definition GxCollision.cpp:904
constexpr u32 getMeshCount(void) const
メッシュオブジェクト個数の取得
Definition GxCollision.h:410
コリジョン基本クラス
Definition GxCollision.h:20
constexpr void setPropertyObjectCount(u32)
当たりオブジェクト数を設定
Definition GxCollision.h:199
virtual GX_FORCE_INLINE void initializeActiveOff(void)
アクティブOFF時のパラメタ初期化
Definition GxCollision.h:141
GX_FORCE_INLINE GxVector3 getOffsetAdjustVector(void)
押返しベクトルのオフセットを取得
Definition GxCollision.h:205
GX_FORCE_INLINE void getPropertyActive(void *const pValue)
アクティブを取得
Definition GxCollision.h:188
constexpr u32 getObjectCount(void) const
登録オブジェクトの個数を取得
Definition GxCollision.h:174
GX_FORCE_INLINE b32 isActive(void) const
アクティブ判定
Definition GxCollision.h:168
GxArrayClassBase _listObject
オブジェクトのリスト
Definition GxCollision.h:222
GxWorld * _pRegisterWorld
親ワールド
Definition GxCollision.h:213
COLLISION_SHAPE
コリジョン形状
Definition GxCollision.h:38
constexpr GxWorld * getWorld(void) const
登録ワールドの取得
Definition GxCollision.h:129
static const f32 BULLET_MARGIN
Bulletのマージン値
Definition GxCollision.h:68
constexpr GxUnitBase * getUnit(void) const
登録ユニットの取得
Definition GxCollision.h:135
constexpr void setWorldNull(void)
登録ワールドの削除
Definition GxCollision.h:132
GX_FORCE_INLINE void getPropertyObject(void *const pValue, u32 index)
当たりオブジェクトを取得
Definition GxCollision.h:193
virtual GX_FORCE_INLINE void initializeActiveOn(void)
アクティブON時のパラメタ初期化
Definition GxCollision.h:138
GX_FORCE_INLINE void setHitCallback(GxCollision::COLLISION_CALLBACK pCallback)
コールバックを設定
Definition GxCollision.h:165
virtual GX_FORCE_INLINE void initializeUpdate(void)
更新前のパラメタ初期化
Definition GxCollision.h:144
GX_FORCE_INLINE void setPropertyActive(const void *const pValue)
アクティブを設定
Definition GxCollision.h:190
void(GxClassBaseRoot::*) COLLISION_CALLBACK(void)
コールバック定義
Definition GxCollision.h:65
constexpr u32 getPropertyObjectCount(void) const
当たりオブジェクト数を取得
Definition GxCollision.h:197
COLLISION_CALLBACK _pCallback
補正用コールバック
Definition GxCollision.h:214
GX_FORCE_INLINE void setOffsetAdjustVector(const GxVector3 &offset)
押返しベクトルのオフセットを設定
Definition GxCollision.h:203
constexpr void setPropertyObject(const void *const, u32)
当たりオブジェクトを設定
Definition GxCollision.h:195
クリティカルセクションクラス
Definition GxThread.h:20
算術演算クラス
Definition GxMath.h:84
箱形状クラス
Definition GxShape.h:333
カプセル形状クラス
Definition GxShape.h:707
円柱形状クラス
Definition GxShape.h:634
形状基礎クラス
Definition GxShape.h:45
マルチ球形状クラス
Definition GxShape.h:776
球形状クラス
Definition GxShape.h:240
三角メッシュ形状クラス
Definition GxShape.h:912
ユニット基礎クラス
Definition GxUnitBase.h:45
Definition GxCollision.h:898
GxConvexCallback(const btVector3 &rayFromWorld, const btVector3 &rayToWorld, GxConditionInformation *pConditionInfo)
コンストラクタ
Definition GxCollision.h:905
u32 _triangleIndex
メッシュ形状とヒットしたときのヒットした三角形index
Definition GxCollision.h:936
btScalar addSingleResult(btCollisionWorld::LocalConvexResult &convexResult, bool normalInWorldSpace) override
Definition GxCollision.cpp:2863
GxConditionInformation * _pConditionInfo
レイチェック判定条件構造体
Definition GxCollision.h:935
bool needsCollision(btBroadphaseProxy *pProxy) const override
Definition GxCollision.cpp:2830
Definition GxCollision.h:848
u32 _triangleIndex
メッシュ形状とヒットしたときのヒットした三角形index
Definition GxCollision.h:886
GxRayCallback(const btVector3 &rayFromWorld, const btVector3 &rayToWorld, GxConditionInformation *pConditionInfo)
コンストラクタ
Definition GxCollision.h:855
bool needsCollision(btBroadphaseProxy *pProxy) const override
Definition GxCollision.cpp:2755
btScalar addSingleResult(btCollisionWorld::LocalRayResult &rayResult, bool normalInWorldSpace) override
Definition GxCollision.cpp:2789
GxConditionInformation * _pConditionInfo
レイチェック判定条件構造体
Definition GxCollision.h:885
レイ判定情報
Definition GxCollision.h:945
const GxRayResult & operator=(const GxRayResult &rayResult)
代入
Definition GxCollision.h:965
GxVector3 _position
交差位置
Definition GxCollision.h:994
virtual ~GxRayResult(void)
デストラクタ
Definition GxCollision.h:962
f32 _fraction
交差位置の割合
Definition GxCollision.h:1006
b32 _hasHit
ヒットしたかどうか
Definition GxCollision.h:1007
GxCollision::GxObject * _pObject
交差オブジェクト
Definition GxCollision.h:996
GxVector3 _normal
交差面法線
Definition GxCollision.h:995
GxRayResult(void)
コンストラクタ
Definition GxCollision.h:952
s32 _triangleIndex
交差したメッシュのインデックス
Definition GxCollision.h:997
void setResult(GxCollision::GxRayCallback &resultCallback)
ヒット結果の設定
Definition GxCollision.cpp:2913
u32 _checkFlag
チェックフラグ
Definition GxCollision.h:998
static const GxColor WHITE
白
Definition GxColor.h:37
アフィン変換行列(行優先)
Definition GxMatrix.h:330
static const GxMatrixAffine IDENTITY
単位行列
Definition GxMatrix.h:341
GX_FORCE_INLINE void setRotate(const GxQuaternion &quaternion)
回転行列を設定
Definition GxMatrix.inl:2257
クォータニオン
Definition GxQuaternion.h:19
文字列型クラス
Definition GxString.h:18
3次元ベクトル
Definition GxVector.h:245
32bitブーリアン
Definition GxDefine.h:173