12GX_MOTION_NAMESPACE_BEGIN()
25 GX_RTTI_RESOURCE_NAME(GxResMotionViewer,
GxResBase,
"モーションビューワリソース");
40 GX_RTTI_ABSTRACT_CLASS(MotionBaseCategory,
GxClassBase);
49 MotionBaseCategory(
void);
51 ~MotionBaseCategory(
void)
override;
75 constexpr GxClassBase* getParam(u32 index)
const {
return _ppParam[index]; }
77 constexpr u32 getParamMax(
void)
const {
return _paramMax; }
81 void getPropertyParam(
void* pValue, u32 index);
83 void setPropertyParam(
const void* pValue, u32 index );
85 u32 getPropertyParamCount(
void);
87 void setPropertyParamCount(u32 paramMax);
102 class MotionSyncCategory :
public MotionBaseCategory
109 GX_RTTI_CLASS(MotionSyncCategory, MotionBaseCategory);
128 MotionSyncParam(
void);
130 MotionSyncParam& operator= (MotionSyncParam
const& other);
140 static GxMotionNamesList* _pMotionNameList;
141 static GxMotionNamesList* _pChildMotionNameList;
142 u32 _targetParentMotion;
143 u32 _playChildMotion;
155 GX_FORCE_INLINE
GxClassBase* allocObject (
void)
override {
return static_cast<GxClassBase*
>(GX_NEW MotionSyncParam()); }
157 GX_FORCE_INLINE
GxClassBase** allocCategory(
void)
override {
return reinterpret_cast<GxClassBase**
>(GX_NEW MotionSyncParam*[_paramMax]); }
163 class MotionChildCategory :
public MotionBaseCategory
170 GX_RTTI_CLASS(MotionChildCategory, MotionBaseCategory);
189 ChildUnitParam(
void);
191 ~ChildUnitParam(
void);
200 GX_FORCE_INLINE
void getPropertyResModel(
void*
const pValue) { *
static_cast<GxResModel**
>(pValue) = _pResModel; }
204 GX_FORCE_INLINE
void getPropertyResMotion(
void*
const pValue) { *
static_cast<GxResMotionPackage**
>(pValue) = _pResMotion; }
215 u32 _attachParentJointNumber;
229 GX_FORCE_INLINE
GxClassBase* allocObject(
void)
override {
return static_cast<GxClassBase*
>(GX_NEW ChildUnitParam()); }
231 GX_FORCE_INLINE
GxClassBase** allocCategory(
void)
override {
return reinterpret_cast<GxClassBase**
>(GX_NEW ChildUnitParam*[_paramMax]); }
237 class MotionPlayCategory :
public MotionBaseCategory
244 GX_RTTI_CLASS(MotionPlayCategory, MotionBaseCategory);
265 PlayParam& operator= (PlayParam
const& other);
275 static GxMotionNamesList* pMotionNameList;
289 GX_FORCE_INLINE
GxClassBase* allocObject(
void)
override {
return static_cast<GxClassBase*
>(GX_NEW PlayParam()); }
291 GX_FORCE_INLINE
GxClassBase** allocCategory(
void)
override {
return reinterpret_cast<GxClassBase**
>(GX_NEW PlayParam*[_paramMax]); }
303 GxResMotionViewer(
void);
326 void getToolRtti(
GxArray& arrayTool)
const override;
329 constexpr MotionSyncCategory* getMotionSyncCategory(u32 category) const { return _pMotionSyncCategory[category]; }
331 void swapMotionSyncCategory(u32 index0, u32 index1);
333 GX_FORCE_INLINE MotionChildCategory* getChildUnitCategory(
void) {
return &_childUnitCategory; }
335 GX_FORCE_INLINE MotionPlayCategory* getPlayCategory(
void) {
return &_motionPlayCategory; }
337 GX_FORCE_INLINE
GxString getModelResourcePath(
void)
const {
return _modelResourcePath; }
339 GX_FORCE_INLINE
GxString getMotionResourcePath(
void)
const {
return _motionResourcePath; }
341 GX_FORCE_INLINE
GxString getMotionInterpResourcePath(
void)
const {
return _motionInterpResourcePath; }
343 GX_FORCE_INLINE
void setModelResourcePath(
const GxString& path) { _modelResourcePath = path; }
345 GX_FORCE_INLINE
void setMotionResourcePath(
const GxString& path) { _motionResourcePath = path; }
347 GX_FORCE_INLINE
void setMotionInterpResourcePath(
const GxString& path) { _motionInterpResourcePath = path; }
355 MotionSyncCategory* _pMotionSyncCategory[CHILD_UNIT_MAX_COUNT];
356 MotionChildCategory _childUnitCategory;
357 MotionPlayCategory _motionPlayCategory;
368class GxResMotionViewerXml :
public GxResMotionViewer
376 GX_RTTI_RESOURCE_NAME(GxResMotionViewerXml, GxResMotionViewer,
"モーションビューワXMLリソース");
387 GxResMotionViewerXml(
void);
405GX_MOTION_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
#define GX_SET_CLASS_BASE_REFERENCE(__DST__, __SRC__)
オブジェクト設定(参照カウンタを使用する場合)
Definition GxBase.h:318
void GxTypedObject
その他
Definition GxDefine.h:213
配列クラス
Definition GxArray.h:18
オブジェクト基底クラス
Definition GxBase.h:88
static constexpr u32 VALUE_8
8
Definition GxMath.h:122
プロパティクラス
Definition GxProperty.h:48
リソース基底クラス
Definition GxResBase.h:23
void cleanup(void) override
解放
Definition GxResBase.cpp:74
b32 load(GxStream &stream, u32 size)
ロード
Definition GxResBase.h:394
モデルリソースクラス
Definition GxResModel.h:20
モーションパッケージリソース
Definition GxResMotionPackage.h:20
実行時型情報クラス
Definition GxRtti.h:154
ストリーム基礎クラス
Definition GxStream.h:20
文字列型クラス
Definition GxString.h:18
32bitブーリアン
Definition GxDefine.h:173