コリジョン基本クラス More...
#include <GxCollision.h>


Classes | |
| class | GxConditionInformation |
| struct | GxConvexCallback |
| class | GxObject |
| Collision基本オブジェクトクラス More... | |
| struct | GxRayCallback |
| struct | GxRayResult |
| レイ判定情報 More... | |
| class | GxWorld |
| Collision基本ワールドクラス More... | |
Public Member Functions | |
初期化 | |
| GxCollision (void) | |
| デフォルトコンストラクタ | |
| ~GxCollision (void) override | |
| デストラクタ | |
Public Member Functions inherited from GxClassBase | |
| constexpr | GxClassBase (void) |
| コンストラクタ | |
| constexpr | GxClassBase (const GxClassBase &base) |
| コピーコンストラクタ | |
| ~GxClassBase (void) override | |
| デストラクタ | |
Public Member Functions inherited from GxClassBaseRoot | |
| constexpr | GxClassBaseRoot (void) |
| コンストラクタ | |
| constexpr | GxClassBaseRoot (const GxClassBaseRoot &) |
| コピーコンストラクタ | |
| virtual | ~GxClassBaseRoot (void) |
| デストラクタ | |
| constexpr GxClassBaseRoot & | operator= (const GxClassBaseRoot &) |
| 代入演算子 | |
| virtual GxRtti & | getRtti (void) const =0 |
| Rttiの取得 | |
| virtual GX_FORCE_INLINE const GxTypedObject * | getDefaultObject (void) |
| デフォルトオブジェクトを取得 | |
| GX_FORCE_INLINE b32 | isDefaultObject (void) |
| デフォルトオブジェクト判定 | |
定義 | |
| enum class | COLLISION_SHAPE { ERROR_ = -1 , SPHERE = 0 , BOX , CYLINDER , MULTISPHERE , TRIMESH , PLANE , RAY , BEAM , CAPSULE , CONVEX , COMPOUND , WHEEL , MAX } |
| コリジョン形状 More... | |
| typedef void(GxClassBaseRoot::*) | COLLISION_CALLBACK(void) |
| コールバック定義 | |
| static const f32 | BULLET_MARGIN = CONVEX_DISTANCE_MARGIN |
| Bulletのマージン値 | |
メンバ変数 | |
| GxWorld * | _pRegisterWorld |
| 親ワールド | |
| COLLISION_CALLBACK | _pCallback |
| 補正用コールバック | |
| GxArrayClassBase | _listObject |
| オブジェクトのリスト | |
操作 | |
| void | clearList (void) |
| 全オブジェクトをリストから削除 | |
| virtual GxObject * | allocObject (void) |
| オブジェクトのメモリ確保 | |
| virtual GxObject * | createSphere (b32 active, u32 id, const GxMatrixAffine *pMatrix, const GxVector3 &offset, const GxShapeSphere &sphere) |
| 球の作成 | |
| virtual GxObject * | createBox (b32 active, u32 id, const GxMatrixAffine *pMatrix, const GxVector3 &offset, const GxShapeBox &box) |
| ボックスの作成 | |
| virtual GxObject * | createMultisphere (b32 active, u32 id, const GxMatrixAffine *pMatrix0, const GxVector3 &offset0, const GxMatrixAffine *pMatrix1, const GxVector3 &offset1, const GxShapeMultisphere &multisphere) |
| マルチ球の作成 | |
| virtual GxObject * | createCylinder (b32 active, u32 id, const GxMatrixAffine *pMatrix, const GxVector3 &offset, const GxShapeCylinder &cylinder) |
| 円柱の作成 | |
| virtual GxObject * | createCapsule (b32 active, u32 id, const GxMatrixAffine *pMatrix, const GxVector3 &offset, const GxShapeCapsule &capsule) |
| カプセルの作成 | |
| virtual GxObject * | createMesh (u32 index, b32 active, const GxMatrixAffine *pMatrix, const GxVector3 &offset, const GxShapeTrimesh &trimesh, btTriangleIndexVertexArray *pVertex, b32 isCompress=true, GxVector3 *pAabbMin=nullptr, GxVector3 *pAabbMax=nullptr) |
| 背景メッシュの作成 | |
| virtual GxObject * | createMesh (u32 index, b32 active, const GxMatrixAffine *pMatrix, const GxVector3 &offset, const GxShapeTrimesh &trimesh, btBvhTriangleMeshShape *pTrimeshShape) |
| 背景メッシュの作成 | |
| GxObject * | getObject (u32 index) |
| 指定インデックスのオブジェクトを取得 | |
| virtual void | deleteObject (GxObject *pObject) |
| オブジェクトを削除する | |
| virtual void | detachObject (GxObject *pObject) |
| オブジェクトをリストから切り離す | |
| virtual void | initialize (GxWorld *pRegistWorld, GxUnitBase *pUnit, GxCollision::COLLISION_CALLBACK pCallback, u32 threadIndex) |
| 初期設定(スレッドセーフ) | |
| virtual void | prepareCheck (void) |
| 当たり判定チェック前準備 | |
| virtual void | update (void) |
| 位置の更新 | |
| constexpr GxWorld * | getWorld (void) const |
| 登録ワールドの取得 | |
| constexpr GxUnitBase * | getUnit (void) const |
| 登録ユニットの取得 | |
| virtual GX_FORCE_INLINE void | initializeActiveOn (void) |
| アクティブON時のパラメタ初期化 | |
| virtual GX_FORCE_INLINE void | initializeActiveOff (void) |
| アクティブOFF時のパラメタ初期化 | |
| virtual GX_FORCE_INLINE void | initializeUpdate (void) |
| 更新前のパラメタ初期化 | |
| virtual void | executePostCheckCallback (void) |
| チェック後コールバック関数の呼び出し | |
| constexpr void | setWorldNull (void) |
| 登録ワールドの削除 | |
| virtual GxObject * | addObject (void) |
| オブジェクトの追加 | |
アクセサ | |
| GX_FORCE_INLINE void | setHitCallback (GxCollision::COLLISION_CALLBACK pCallback) |
| コールバックを設定 | |
| GX_FORCE_INLINE b32 | isActive (void) const |
| アクティブ判定 | |
| void | setActive (b32 active) |
| アクティブ状態の設定 | |
| constexpr u32 | getObjectCount (void) const |
| 登録オブジェクトの個数を取得 | |
| GX_FORCE_INLINE void | getPropertyActive (void *const pValue) |
| アクティブを取得 | |
| GX_FORCE_INLINE void | setPropertyActive (const void *const pValue) |
| アクティブを設定 | |
| GX_FORCE_INLINE void | getPropertyObject (void *const pValue, u32 index) |
| 当たりオブジェクトを取得 | |
| constexpr void | setPropertyObject (const void *const, u32) |
| 当たりオブジェクトを設定 | |
| constexpr u32 | getPropertyObjectCount (void) const |
| 当たりオブジェクト数を取得 | |
| constexpr void | setPropertyObjectCount (u32) |
| 当たりオブジェクト数を設定 | |
| GX_FORCE_INLINE void | setOffsetAdjustVector (const GxVector3 &offset) |
| 押返しベクトルのオフセットを設定 | |
| GX_FORCE_INLINE GxVector3 | getOffsetAdjustVector (void) |
| 押返しベクトルのオフセットを取得 | |
Additional Inherited Members | |
Static Public Member Functions inherited from GxClassBaseRoot | |
| static GX_FORCE_INLINE GxRtti & | __getStaticRtti (void) |
| Rttiの取得 | |
コリジョン基本クラス
|
strong |
|
protectedvirtual |
オブジェクトの追加
Reimplemented in GxAdjustHit, GxAttackHit, and GxEventHit.


|
virtual |
オブジェクトのメモリ確保
Reimplemented in GxAdjustHit, GxAttackHit, GxBackgroundHit, GxEventHit, and GxObjectHit.

|
virtual |
ボックスの作成
| active | [in] 登録後すぐアクティブにするかどうか |
| id | [in] 当たりID |
| pMatrix | [in] 引っ付けるマトリクス |
| offset | [in] マトリクスからのオフセット |
| box | [in] ボックス形状 |


|
virtual |
カプセルの作成
| active | [in] 登録後すぐアクティブにするかどうか |
| id | [in] 当たりID |
| pMatrix | [in] 引っ付けるマトリクス |
| offset | [in] マトリクスからのオフセット |
| capsule | [in] カプセル形状 |


|
virtual |
円柱の作成
| active | [in] 登録後すぐアクティブにするかどうか |
| id | [in] 当たりID |
| pMatrix | [in] 引っ付けるマトリクス |
| offset | [in] マトリクスからのオフセット |
| cylinder | [in] 円柱形状 |


|
virtual |
背景メッシュの作成
| index | [in] メッシュインデックス |
| active | [in] 登録後すぐアクティブにするかどうか |
| pMatrix | [in] 引っ付けるマトリクス |
| offset | [in] マトリクスからのオフセット |
| trimesh | [in] 三角形メッシュ形状 |
| pBtTrimeshShape | [in] 外部で作成したBULLETのメッシュシェイプ |

|
virtual |
背景メッシュの作成
| index | [in] メッシュインデックス |
| active | [in] 登録後すぐアクティブにするかどうか |
| pMatrix | [in] 引っ付けるマトリクス |
| offset | [in] マトリクスからのオフセット |
| trimesh | [in] メッシュ |
| pVertex | [in] メッシュのデータ |
| isCompress | [in] データを圧縮するかどうか(default = true) |
| pAabbMin | [in] メッシュを囲むAABBボックスの最小値 |
| pAabbMax | [in] メッシュを囲むAABBボックスの最大値 |

|
virtual |
マルチ球の作成
| active | [in] 登録後すぐアクティブにするかどうか |
| id | [in] 当たりID |
| pMatrix0 | [in] 引っ付けるマトリクス0番 |
| offset0 | [in] マトリクス0番からのオフセット |
| pMatrix1 | [in] 引っ付けるマトリクス1番 |
| offset1 | [in] マトリクス1番からのオフセット |
| multisphere | [in] マルチ球形状 |


|
virtual |
球の作成
| active | [in] 登録後すぐアクティブにするかどうか |
| id | [in] 当たりID |
| pMatrix | [in] 引っ付けるマトリクス |
| offset | [in] マトリクスからのオフセット |
| sphere | [in] 球の形状 |


|
virtual |
オブジェクトを削除する
| pObject | [in] オブジェクト |

|
virtual |
オブジェクトをリストから切り離す
| pObject | [in] オブジェクト |


|
virtual |
チェック後コールバック関数の呼び出し
Reimplemented in GxBackgroundHit.


| GxCollision::GxObject * GxCollision::getObject | ( | u32 | index | ) |
指定インデックスのオブジェクトを取得
| index | [in] オブジェクトのインデックス |

|
virtual |
初期設定(スレッドセーフ)
| pRegisterWorld | [in] 登録先ワールド |
| pUnit | [in] 使用するユニット |
| pCallback | [in] 呼び出すコールバック関数 |
| threadIndex | [in] スレッドインデックス |
Reimplemented in GxEventHit.


|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
| void GxCollision::setActive | ( | b32 | active | ) |
アクティブ状態の設定
| active | [in] trueで有効化、false時はisNeedCheck()ではじく |


|
virtual |