OROCHI
 
Loading...
Searching...
No Matches
GxModUnitMotionBase.h
Go to the documentation of this file.
1//===========================================================================
10//===========================================================================
11#pragma once
12
13GX_MOTION_NAMESPACE_BEGIN()
15//===========================================================================
17//===========================================================================
19{
20 //-------------------------------------------------------------
22 //-------------------------------------------------------------
24public:
25 // RTTI定義
26 GX_RTTI_ABSTRACT_CLASS(GxModUnitMotionBase, GxModUnitBase)
27 // NEW,DELETEのオーバーライド
28 GX_OPERATOR_NEW_DELETE_USE_ARRAY(GxAllocatorList::ALLOCATOR_TYPE::UNIT);
29
31 enum class NODE
32 {
33 LOCATOR_ROOT = 0,
34 JOINT_ROOT,
35 };
36
38 enum class MOTION_INDEX
39 {
40 SUM = 0,
41 BASEPOSE,
42 BEGIN,
43 };
44
46 //-------------------------------------------------------------
48 //-------------------------------------------------------------
50public:
54 ~GxModUnitMotionBase(void) override {}
55
57 virtual void initialize(GxResMotionPackage* /*pResMotPackage*/) {}
58
60 //-------------------------------------------------------------
62 //-------------------------------------------------------------
64public:
66 GX_FORCE_INLINE virtual GxMotionJoint& getJointRaw(const u32 id) const { return _pJointArray[id]; }
68 virtual const GxMotionJoint* getJointArray(void) const;
70 virtual const GxMotionJoint* getJoint(const u32 id) const;
72 virtual GxMotionJoint* getJoint(const u32 id);
74 virtual void getJointChildren(GxMotionJoint const* pJoint, GxArray& result);
76 virtual s32 getJointIndexFromId(s32 id) const;
78 virtual s32 getJointCount(void) const { return _jointCount; }
80 void getUpdateJoint(void* pValue, u32 index) { *static_cast<GxMotionJointData**>(pValue) = &_pJointArray[index]; }
82 void updateJointMatricesNoIK(u32 jointStartNumber, u32 jointCount);
83
84protected:
86 void setDummyValue (const void* /*pValue*/ ){}
88 void setDummyValueIndex (const void* /*pValue*/, u32 /*index*/){}
90 void setDummySize (u32 /*index*/ ){}
91
93 //-------------------------------------------------------------
95 //-------------------------------------------------------------
97protected:
100
102};
103
104GX_MOTION_NAMESPACE_END()
105
配列クラス
Definition GxArray.h:18
ユニットモジュール基礎クラス
Definition GxModUnitBase.h:22
モーションモジュール基礎クラス
Definition GxModUnitMotionBase.h:19
void getUpdateJoint(void *pValue, u32 index)
関節配列を取得
Definition GxModUnitMotionBase.h:80
void setDummySize(u32)
ダミーサイズを設定
Definition GxModUnitMotionBase.h:90
virtual void initialize(GxResMotionPackage *)
初期化
Definition GxModUnitMotionBase.h:57
void setDummyValueIndex(const void *, u32)
ダミー値インデックスを設定
Definition GxModUnitMotionBase.h:88
GxMotionJoint * _pJointArray
関節行列
Definition GxModUnitMotionBase.h:98
NODE
ノード番号定義
Definition GxModUnitMotionBase.h:32
void setDummyValue(const void *)
ダミー値を設定
Definition GxModUnitMotionBase.h:86
s32 _jointCount
モーションデータのなかの関節数
Definition GxModUnitMotionBase.h:99
virtual GX_FORCE_INLINE GxMotionJoint & getJointRaw(const u32 id) const
間接を取得(更新チェックなしの生アクセス用)
Definition GxModUnitMotionBase.h:66
~GxModUnitMotionBase(void) override
デストラクタ
Definition GxModUnitMotionBase.h:54
MOTION_INDEX
GMPファイルのモーションインデックス
Definition GxModUnitMotionBase.h:39
virtual s32 getJointCount(void) const
関節数を取得
Definition GxModUnitMotionBase.h:78
GxMotionJointのローカルデータだけを保存するクラス
Definition GxMotionJoint.h:22
GxMotionが使う関節クラス
Definition GxMotionJoint.h:150
モーションパッケージリソース
Definition GxResMotionPackage.h:20