|
|
| GxObjectHit (void) |
| デフォルトコンストラクタ
|
|
| ~GxObjectHit (void) override |
| デストラクタ
|
|
virtual void | initializeCheck (void) |
| チェック時のパラメータ初期化(1フレーム1回)
|
|
virtual void | checkOldPosition (GxRayResult &result, const GxVector3 &moveVector, const GxVector3 &offset, GxCollision::GxConditionInformation *pCondition=nullptr) |
|
virtual const GxVector3 & | calculateAdjustVector (void) |
| 当たり判定後の補正処理
|
|
GX_FORCE_INLINE const GxVector3 & | getAdjustVector (void) const |
| 補正ベクトルの取得
|
|
GX_FORCE_INLINE b32 | isNeedAdjust (const GxVector3 &vector) |
| 補正が必要か判定
|
|
GX_FORCE_INLINE b32 | isAdjustEnd (void) |
| 補正が終了したか判定
|
|
GX_FORCE_INLINE void | setAdjustEnd (b32 value) |
| 補正が終了したか設定
|
|
GX_FORCE_INLINE void | setIsAdjustOldPositionThroughOnce (b32 value) |
| Pos~Old間のチェックを一度スルーする設定
|
|
GX_FORCE_INLINE b32 | isAdjustOldPositionThroughOnce (void) const |
| Pos~Old間のチェックを一度スルーする判定
|
|
void | onAttributeAll (u32 attribute) |
| すべてのオブジェクトの属性をONにする
|
|
void | offAttributeAll (u32 attribute) |
| すべてのオブジェクトの属性をOFFにする
|
|
| GxCollision (void) |
| デフォルトコンストラクタ
|
|
| ~GxCollision (void) override |
| デストラクタ
|
|
void | clearList (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 void | executePostCheckCallback (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) |
| 当たりオブジェクト数を設定
|
|
constexpr | GxClassBase (void) |
| コンストラクタ
|
|
constexpr | GxClassBase (const GxClassBase &base) |
| コピーコンストラクタ
|
|
| ~GxClassBase (void) override |
| デストラクタ
|
|
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 GX_FORCE_INLINE GxRtti & | __getStaticRtti (void) |
| Rttiの取得
|
|
static const f32 | BULLET_MARGIN = CONVEX_DISTANCE_MARGIN |
| Bulletのマージン値
|
|
enum class | ADJUST_FLAG_INDEX { END
, THROUGH_ONCE
, THROUGH_ONCE_OLD
} |
| 補正用フラグ More...
|
|
| GxAdjustHit (void) |
| デフォルトコンストラクタ
|
|
| ~GxAdjustHit (void) override |
| デストラクタ
|
|
GxObject * | getObject (u32 index) |
| 指定インデックスのオブジェクトを取得
|
|
void | initializeActiveOn (void) override |
| アクティブON時のパラメータ初期化
|
|
void | initializeActiveOff (void) override |
| アクティブOFF時のパラメータ初期化
|
|
void | initializeUpdate (void) override |
| 更新前のパラメタ初期化
|
|
GX_FORCE_INLINE void | setAdjustVector (const GxVector3 &vector) |
| 補正ベクトルの設定
|
|
GxCollision::GxObject * | addObject (void) override |
| オブジェクトの追加
|
|
const GxVector3 | calculateNormalAdjustVector (void) |
| 通常補正ベクトルを返す
|
|
void | setObjectWeightAll (f32 weight) |
| すべてのオブジェクトの重さ設定
|
|
GX_FORCE_INLINE void | getPropertyCheckMargin (void *const pValue) |
| 当たり判定マージン取得
|
|
constexpr void | setPropertyCheckMargin (const void *const pValue) |
| 当たり判定マージン設定
|
|
constexpr void | setWorldNull (void) |
| 登録ワールドの削除
|
|
GX_FORCE_INLINE void | setOffsetAdjustVector (const GxVector3 &offset) |
| 押返しベクトルのオフセットを設定
|
|
GX_FORCE_INLINE GxVector3 | getOffsetAdjustVector (void) |
| 押返しベクトルのオフセットを取得
|
|
static constexpr void | setCheckMargin (f32 margin) |
| 当たり判定用マージン設定
|
|
static GX_FORCE_INLINE f32 | getCheckMargin (void) |
| 当たり判定用マージン取得
|
|
GxWorld * | _pRegisterWorld |
| 親ワールド
|
|
COLLISION_CALLBACK | _pCallback |
| 補正用コールバック
|
|
GxArrayClassBase | _listObject |
| オブジェクトのリスト
|
|
static const f32 | _distanceMin = 0.001f |
| これ以上埋まっていないと補正しない
|
|
static const f32 | _againstRadian = DEGREE_TO_RADIAN(180.0f-10.0f) |
| 反対方向に押されているのかどうか
|
|
static f32 | _checkMargin = 0.01f |
| 判定用マージン
|
|