OROCHI
 
Loading...
Searching...
No Matches
GxModUnitAttach.h
Go to the documentation of this file.
1//===========================================================================
10//===========================================================================
11#pragma once
12
13GX_CORE_NAMESPACE_BEGIN()
14class GxUnitModelBase;
15//===========================================================================
17//===========================================================================
19{
20 //-----------------------------------------------------------
22 //-----------------------------------------------------------
24public:
25 GX_RTTI_CLASS(GxModUnitAttach, GxModUnitBase)
26 // ClassBase継承クラス用禁止宣言
28
29 static constexpr u32 JOINT_NUMBER_INVALID = 0xFFFFFFFF;
30
32 //-----------------------------------------------------------
34 //-----------------------------------------------------------
36public:
38 GxModUnitAttach(void);
41
43 //-----------------------------------------------------------
45 //-----------------------------------------------------------
47public:
49 void asyncUpdate(void) override;
51 void forceAsyncUpdate(void) override;
52private:
54 void updateInner(void);
55
57 //-----------------------------------------------------------
59 //-----------------------------------------------------------
61public:
63 static const GxRtti& getOwnerDerivedRtti(void);
65 GX_FORCE_INLINE b32 isActive(void) const { return _activeFlag; }
67 GX_FORCE_INLINE void setActive(b32 on){ _activeFlag = on; }
69 constexpr void setJointNumber(u32 number){ _jointNumber = number; }
71 constexpr u32 getJointNumber(void) const { return _jointNumber; }
73 constexpr void setParent(GxUnitModelBase* pParent){ _pParent = pParent; }
75 constexpr GxUnitModelBase* getParent(void){ return _pParent; }
77 GX_FORCE_INLINE void setOffsetPosition(const GxVector3& position){ _offsetPosition = position; }
79 GX_FORCE_INLINE const GxVector3& getOffsetPosition(void) const { return _offsetPosition; }
81 GX_FORCE_INLINE void setOffsetQuaternion(const GxQuaternion& quaternion){ _offsetQuaternion = quaternion; }
83 GX_FORCE_INLINE const GxQuaternion& getOffsetQuaternion(void) const { return _offsetQuaternion; }
84
86 //-----------------------------------------------------------
88 //-----------------------------------------------------------
90protected:
96
98};
99
100GX_CORE_NAMESPACE_END()
101
#define GX_PROHIBIT_CLASS_BASE(__CLASS__)
GxClassBase継承の禁止宣言
Definition GxBase.h:240
アタッチモジュールクラス
Definition GxModUnitAttach.h:19
GX_FORCE_INLINE const GxVector3 & getOffsetPosition(void) const
座標オフセット取得
Definition GxModUnitAttach.h:79
GX_FORCE_INLINE void setOffsetPosition(const GxVector3 &position)
座標オフセット設定
Definition GxModUnitAttach.h:77
GX_FORCE_INLINE void setOffsetQuaternion(const GxQuaternion &quaternion)
回転オフセット設定
Definition GxModUnitAttach.h:81
constexpr u32 getJointNumber(void) const
アタッチジョイント取得
Definition GxModUnitAttach.h:71
GX_FORCE_INLINE const GxQuaternion & getOffsetQuaternion(void) const
回転オフセット取得
Definition GxModUnitAttach.h:83
GX_FORCE_INLINE b32 isActive(void) const
有効判定
Definition GxModUnitAttach.h:65
GxUnitModelBase * _pParent
親ユニット
Definition GxModUnitAttach.h:91
GX_FORCE_INLINE void setActive(b32 on)
有効設定
Definition GxModUnitAttach.h:67
u32 _jointNumber
ジョイント番号
Definition GxModUnitAttach.h:93
constexpr void setParent(GxUnitModelBase *pParent)
親のユニット設定
Definition GxModUnitAttach.h:73
GxQuaternion _offsetQuaternion
回転オフセット
Definition GxModUnitAttach.h:95
constexpr void setJointNumber(u32 number)
アタッチジョイント設定
Definition GxModUnitAttach.h:69
constexpr GxUnitModelBase * getParent(void)
親のユニット取得
Definition GxModUnitAttach.h:75
b32 _activeFlag
アクティブフラグ
Definition GxModUnitAttach.h:92
GxVector3 _offsetPosition
座標オフセット
Definition GxModUnitAttach.h:94
ユニットモジュール基礎クラス
Definition GxModUnitBase.h:22
実行時型情報クラス
Definition GxRtti.h:154
モデル基礎クラス
Definition GxUnitModelBase.h:19
クォータニオン
Definition GxQuaternion.h:19
3次元ベクトル
Definition GxVector.h:245
32bitブーリアン
Definition GxDefine.h:173