OROCHI
 
Loading...
Searching...
No Matches
GxObjectHit::GxObject Class Reference

オブジェクトあたりオブジェクトクラス More...

#include <GxObjectHit.h>

Inheritance diagram for GxObjectHit::GxObject:
Collaboration diagram for GxObjectHit::GxObject:

Public Member Functions

初期化
 GxObject (void)
 デフォルトコンストラクタ
 
 ~GxObject (void) override
 デストラクタ
 
アクセサ
constexpr TYPE getType (void) const
 タイプの取得
 
constexpr void setType (TYPE type)
 タイプの設定
 
- Public Member Functions inherited from GxAdjustHit::GxObject
 GxObject (void)
 デフォルトコンストラクタ
 
 ~GxObject (void) override
 デストラクタ
 
void initialize (b32 active, u32 id, const GxMatrixAffine *pMatrix0, const GxVector3 &offset0, const GxMatrixAffine *pMatrix1, const GxVector3 &offset1) override
 初期化
 
constexpr u32 getAttribute (void) const
 属性取得
 
constexpr void setAttribute (u32 attribute)
 属性設定
 
constexpr void onAttribute (u32 attribute)
 属性有効化
 
constexpr void offAttribute (u32 attribute)
 属性無効化
 
GX_FORCE_INLINE const GxVector3getPlaneNormal (void) const
 乗っている面の法線の取得
 
GX_FORCE_INLINE void setPlaneNormal (const GxVector3 &normal)
 乗っている面の法線の設定
 
GX_FORCE_INLINE const GxVector3getAdjustVector (void) const
 補正方向の取得
 
GX_FORCE_INLINE void setAdjustVector (const GxVector3 &vector)
 補正方向の設定
 
constexpr f32 getWeight (void) const
 重さの取得
 
constexpr void setWeight (f32 weight)
 重さの設定
 
void initializeActiveOn (void) override
 アクティブON時のパラメータ初期化
 
void initializeActiveOff (void) override
 アクティブOFF時のパラメータ初期化
 
void initializeUpdate (void) override
 更新時のパラメータ初期化(1フレームに複数回呼ばれる可能性もある)
 
void initializeCheck (void)
 チェック時のパラメータ初期化(1フレームに1回)
 
b32 isNeedCheck (GxCollision::GxObject *pCollisionObject) override
 お互いの当たり判定が必要か判定
 
b32 isAdjustEnd (void)
 補正が終了したか判定
 
void checkOldPosition (GxRayResult &result, const GxVector3 &moveVector, const GxVector3 &offset, GxCollision::GxConditionInformation *pCondition)
 現在位置と前回位置の貫通判定
 
- Public Member Functions inherited from GxCollision::GxObject
 GxObject (void)
 デフォルトコンストラクタ
 
 ~GxObject (void) override
 デストラクタ
 
constexpr GxShapegetShape (void) const
 GXオブジェクト形状の取得
 
constexpr COLLISION_SHAPE getShapeType (void) const
 オブジェクト形状タイプの取得
 
constexpr GxCollision::GxWorldgetRegisterWorld (void) const
 登録したワールドのアドレスを取得
 
constexpr void setRegisterWorld (GxCollision::GxWorld *pWorld)
 登録したワールドのアドレスを設定
 
GX_FORCE_INLINE const GxMatrixAffinegetMatrixAddress0 (void) const
 マトリクス0のアドレス取得
 
GX_FORCE_INLINE const GxMatrixAffinegetMatrixAddress1 (void) const
 マトリクス1のアドレス取得
 
GX_FORCE_INLINE void setMatrixAddress0 (const GxMatrixAffine *pMatrix)
 マトリクス0のアドレス設定
 
GX_FORCE_INLINE void setMatrixAddress1 (const GxMatrixAffine *pMatrix)
 マトリクス1のアドレス設定
 
GX_FORCE_INLINE GxMatrixAffine getMatrix0 (void) const
 マトリクス0の取得
 
GX_FORCE_INLINE GxMatrixAffine getMatrix1 (void) const
 マトリクス1の取得
 
GX_FORCE_INLINE const GxVector3getOffset0 (void) const
 オフセット0の取得
 
GX_FORCE_INLINE const GxVector3getOffset1 (void) const
 オフセット1の取得
 
GX_FORCE_INLINE void setOffset0 (const GxVector3 &offset)
 オフセット0の設定
 
GX_FORCE_INLINE void setOffset1 (const GxVector3 &offset)
 オフセット1の設定
 
GX_FORCE_INLINE const GxQuaterniongetQuaternion (void)
 回転の取得
 
GX_FORCE_INLINE void setQuaternion (const GxQuaternion &quaternion)
 回転の設定
 
GX_FORCE_INLINE b32 getActiveFlag (u32 flag) const
 アクティブフラグ取得
 
constexpr u32 getActiveFlagAll (void) const
 全アクティブフラグ取得
 
GX_FORCE_INLINE void setActiveFlag (u32 flag, b32 value)
 アクティブフラグ設定
 
GX_FORCE_INLINE b32 isActive (void) const
 アクティブかどうか取得
 
void setActive (b32 active)
 アクティブかどうか設定
 
GX_FORCE_INLINE b32 isActiveOld (void) const
 
constexpr GxUnitBasegetUnit (void) const
 ユニット取得
 
GX_FORCE_INLINE void setUnit (GxUnitBase *pUnit)
 ユニット設定
 
constexpr u32 getId (void) const
 ID取得
 
constexpr void setId (u32 id)
 ID設定
 
constexpr s32 getMaterial (void) const
 マテリアルの取得
 
constexpr void setMaterial (s32 material)
 マテリアルの設定
 
constexpr u32 getCheckFlag (void) const
 チェックフラグの取得
 
constexpr void setCheckFlag (u32 flag)
 チェックフラグの設定
 
constexpr void onCheckFlag (u32 flag)
 チェックフラグの有効化
 
constexpr void offCheckFlag (u32 flag)
 チェックフラグの無効化
 
constexpr s16 getGroup (void) const
 グループの取得
 
constexpr s16 getMask (void) const
 マスクの取得
 
void setGroupMask (s16 group, s16 mask)
 グループ・マスク設定
 
b32 setSphereRadius (f32 radius)
 球の半径変更
 
b32 setMultisphereRadius (f32 radius0, f32 radius1)
 マルチ球の半径変更
 
b32 setCapsuleRadius (f32 radius)
 カプセルの半径変更
 
b32 setBoxExtent (const GxVector3 &extent)
 箱のサイズ変更
 
b32 setCylinderExtent (const f32 radius, const f32 heightHalf)
 円柱のサイズ変更
 
b32 transformMeshVertex (const GxMatrixAffine &matrix)
 メッシュ頂点の変形
 
void getCenterPosition (GxVector3 &centerPosition)
 中心位置の取得
 
const GxMatrixAffine getCenterMatrix (void)
 中心のマトリクスを取得
 
f32 getRadiusMin (void)
 最小半径の取得
 
const GxVector3 getNormal (const GxVector3 &position)
 法線の取得
 
GX_FORCE_INLINE btCollisionObject * getBulletCollisionObject (void)
 BULLETコリジョンオブジェクトの取得
 
constexpr btCollisionShape * getBulletCollisionShape (void) const
 BULLET形状の取得
 
GX_FORCE_INLINE void getPropertyActiveOld (void *const pValue)
 前回のアクティブを取得
 
GX_FORCE_INLINE void getPropertyActive (void *const pValue)
 アクティブを取得
 
constexpr void setPropertyActiveOld (const void *const)
 前回のアクティブを設定
 
GX_FORCE_INLINE void setPropertyActive (const void *const pValue)
 アクティブを設定
 
constexpr void setCollision (GxCollision *pCollision)
 親コリジョンの設定
 
constexpr GxCollisiongetCollision (void) const
 親コリジョンの取得
 
virtual void prepareCheck (void)
 当たり判定チェック前準備
 
virtual void update (void)
 オブジェクト位置の更新
 
void addOffset (const GxVector3 &offset)
 オフセット加算
 
virtual b32 isHitCheckFlag (u32 targetFlag)
 チェックフラグからあたり判定が必要かを調べる
 
virtual b32 isHitCheckFlagTrimesh (u32 triangleIndex, u32 targetFlag)
 メッシュ形状の三角形単位で、チェックフラグから当たり判定が必要かを調べる
 
virtual b32 createSphere (b32 active, u32 id, const GxMatrixAffine *pMatrix, const GxVector3 &offset, const GxShapeSphere &sphere)
 球の作成
 
virtual b32 createBox (b32 active, u32 id, const GxMatrixAffine *pMatrix, const GxVector3 &offset, const GxShapeBox &box)
 ボックスの作成
 
virtual b32 createMultisphere (b32 active, u32 id, const GxMatrixAffine *pMatrix0, const GxVector3 &offset0, const GxMatrixAffine *pMatrix1, const GxVector3 &offset1, const GxShapeMultisphere &multisphere)
 マルチ球の作成
 
virtual b32 createCylinder (b32 active, u32 id, const GxMatrixAffine *pMatrix, const GxVector3 &offset, const GxShapeCylinder &cylinder)
 円柱の作成
 
virtual b32 createCapsule (b32 active, u32 id, const GxMatrixAffine *pMatrix, const GxVector3 &offset, const GxShapeCapsule &capsule)
 カプセルの作成
 
virtual b32 createMesh (b32 active, const GxMatrixAffine *pMatrix, const GxVector3 &offset, const GxShapeTrimesh &trimesh, btTriangleIndexVertexArray *pVertex, b32 isCompress, GxVector3 *pAabbMin=nullptr, GxVector3 *pAabbMax=nullptr)
 メッシュの作成
 
virtual b32 createMesh (b32 active, const GxMatrixAffine *pMatrix, const GxVector3 &offset, const GxShapeTrimesh &trimesh, btBvhTriangleMeshShape *pBtTrimeshShape)
 メッシュの作成(外部からBULLET用のシェイプを取得)
 
void resetBulletShape (btCollisionShape *pBtShapeNew)
 Bullet形状を再設定
 
- 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 GxClassBaseRootoperator= (const GxClassBaseRoot &)
 代入演算子
 
virtual GxRttigetRtti (void) const =0
 Rttiの取得
 
virtual GX_FORCE_INLINE const GxTypedObjectgetDefaultObject (void)
 デフォルトオブジェクトを取得
 
GX_FORCE_INLINE b32 isDefaultObject (void)
 デフォルトオブジェクト判定
 

定義

enum class  SHIFT {
  NO_ADJUST = static_cast<s32>(GxAdjustHit::GxObject::SHIFT::ADJUST_HIT_MAX) , OBJECT_HIT_DUMMY_0 , OBJECT_HIT_DUMMY_1 , OBJECT_HIT_DUMMY_2 ,
  OBJECT_HIT_MAX
}
 属性定義用シフト量定義 More...
 
enum  ATTRIBUTE { ATTRIBUTE_NO_ADJUST = (1L << static_cast<s32>(SHIFT::NO_ADJUST)) }
 
enum class  TYPE { NORMAL = 0 , ERROR_ , MAX }
 

Additional Inherited Members

- Public Types inherited from GxAdjustHit::GxObject
enum  ATTRIBUTE { ATTRIBUTE_POSITION_OLD_CHECK = (1L << static_cast<s32>(SHIFT::POSITION_OLD_CHECK)) , ATTRIBUTE_DISABLE_POSITION_OLD_CHECK_ONCE = (1L << static_cast<s32>(SHIFT::DISABLE_POSITION_OLD_CHECK_ONCE)) }
 
- Public Types inherited from GxCollision::GxObject
enum  {
  ACTIVE_FLAG_ACTIVE = (1UL << 0) , ACTIVE_FLAG_ACTIVE_OLD = (1UL << 1) , ACTIVE_FLAG_REQUEST_REGISTER = (1UL << 2) , ACTIVE_FLAG_REQUEST_BAN = (1UL << 3) ,
  ACTIVE_FLAG_REQUEST_DELETE = (1UL << 4)
}
 アクティブフラグ定義 More...
 
- Static Public Member Functions inherited from GxClassBaseRoot
static GX_FORCE_INLINE GxRtti__getStaticRtti (void)
 Rttiの取得
 
- Static Public Attributes inherited from GxCollision::GxObject
static constexpr u32 CHECK_FLAG_ALL = 0x7fffffff
 全フラグ定数
 
- Protected Types inherited from GxAdjustHit::GxObject
enum class  SHIFT {
  POSITION_OLD_CHECK = 0 , DISABLE_POSITION_OLD_CHECK_ONCE , ADJUST_HIT_DUMMY_0 , ADJUST_HIT_DUMMY_1 ,
  ADJUST_HIT_MAX
}
 属性定義用シフト量定義 More...
 
- Protected Member Functions inherited from GxCollision::GxObject
GX_FORCE_INLINE void updateActiveFlag (void)
 アクティブフラグ更新
 
GX_FORCE_INLINE void updateUnitPointer (void)
 ユニットポインタの更新
 
- Protected Attributes inherited from GxCollision::GxObject
btCollisionShape * _pBtShape
 BULLET用形状
 

Detailed Description

オブジェクトあたりオブジェクトクラス

Member Enumeration Documentation

◆ ATTRIBUTE

属性

Note
リソース保存されているので、値変更に注意
Enumerator
ATTRIBUTE_NO_ADJUST 

補正されない属性

◆ SHIFT

enum class GxObjectHit::GxObject::SHIFT
strongprotected

属性定義用シフト量定義

Enumerator
NO_ADJUST 

調整なし

OBJECT_HIT_DUMMY_0 

ダミー

OBJECT_HIT_DUMMY_1 

ダミー

OBJECT_HIT_DUMMY_2 

ダミー

OBJECT_HIT_MAX 

定義数

◆ TYPE

enum class GxObjectHit::GxObject::TYPE
strong

タイプ

Note
リソース保存されているので、値変更に注意
Enumerator
NORMAL 

通常用

ERROR_ 

無効

MAX 

定義数


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