OROCHI
 
Loading...
Searching...
No Matches
GxResRealTimeDemo.h
Go to the documentation of this file.
1//===========================================================================
10//===========================================================================
11#pragma once
12
13GX_UTILITY_NAMESPACE_BEGIN()
14
15#if GX_DEVELOP
16class GxRealTimeDemoEditInterface;
17#endif //GX_DEVELOP
18
19//===========================================================================
21//===========================================================================
23{
24 //-----------------------------------------------------------
26 //-----------------------------------------------------------
28public:
29 // RTTI定義
30 GX_RTTI_RESOURCE_NAME_ICON(GxResRealTimeDemo, GxResBase, "RTDリソース", GxRtti::ICON_TYPE::UNIT_MOVIE)
31 // ClassBaseReference用禁止処理
33
34 class GxRtdProp;
35 class GxRtdKeyBase;
36 class GxRtdKeyB32;
37 class GxRtdKeyS32;
38 class GxRtdKeyU32;
39 class GxRtdKeyF32;
40 class GxRtdKeyVector2;
41 class GxRtdKeyVector3;
43 class GxRtdKeyColor;
44 class GxRtdKeyColorHDR;
45 class GxRtdKeyString;
46 class GxRtdKeyResource;
47 class GxRtdKeyEvent;
48#if GX_DEVELOP
49 friend class GxRealTimeDemoEditInterface;
50 class GxRtdColumnMarker;
51#endif
53 class GxRtdUnit : public GxClassBase
54 {
55 //-----------------------------------------------------------
57 //-----------------------------------------------------------
59 friend class GxResRealTimeDemo;
60 public:
61 // RTTI定義
63 // new, delete定義
64 GX_OPERATOR_NEW_DELETE(GxAllocatorList::ALLOCATOR_TYPE::RESOURCE)
65
66
67 //-----------------------------------------------------------
69 //-----------------------------------------------------------
71 public:
73 GxRtdUnit(void);
75 GxRtdUnit(u32 nodeId, GxRtti* pUnitRtti);
77 ~GxRtdUnit(void) override;
78
80 //-----------------------------------------------------------
82 //-----------------------------------------------------------
84
86 constexpr u32 getPropertyNum(void) const { return _propertyArray.getCount(); }
88 GX_FORCE_INLINE void setPropertyNum(u32 num){ _propertyArray.setCount(num); }
90 GX_FORCE_INLINE void getProperty(void* const pValue, u32 index){ *static_cast<GxResRealTimeDemo::GxRtdProp**>(pValue) = (_propertyArray.getCount() > index) ? reinterpret_cast<GxResRealTimeDemo::GxRtdProp*>(_propertyArray[index]) : nullptr; }
92 void setProperty(const void* const pValue, u32 index);
94 constexpr u32 getNodeId(void) const { return _nodeId; }
97#if GX_DEVELOP
99 constexpr void getPropertyRttiName(void* const pValue){ *static_cast<GX_CSTR*>(pValue) = (nullptr !=_pRtti) ? _pRtti->getName() : ""; }
100#endif //GX_DEVELOP
101
103 //-----------------------------------------------------------
105 //-----------------------------------------------------------
107 public:
113
114#if GX_DEVELOP
115 GxColor _unitRowColor;
116 b32 _guiExpand;
117#endif //GX_DEVELOP
118 private:
119 u32 _nodeId;
120 };
121
123 //-----------------------------------------------------------
125 //-----------------------------------------------------------
127public:
129 GxResRealTimeDemo(void);
131 void cleanup(void) override;
132
134 //-----------------------------------------------------------
136 //-----------------------------------------------------------
138public:
140 b32 load(GxStream&, u32);
141#if GX_DEVELOP
143 b32 save(GxStream&);
144#if GX_EDITOR
146 void getToolRtti( GxArray& arrayTool ) const override;
147#endif //GX_EDITOR
148#endif //GX_DEVELOP
149
150private:
152 constexpr u32 newNodeId(void) { return ++_reservedNodeIdMax; }
153
155 //-----------------------------------------------------------
157 //-----------------------------------------------------------
159public:
161 constexpr u32 getStartFrame(void) const { return _startFrame; }
163 constexpr u32 getEndFrame(void) const { return _endFrame; }
165 constexpr u32 getSceneFPS(void) const { return _sceneFPS; }
167 void getMinMaxKeyFrame(u32& minFrame, u32& maxFrame, b32 considerPlayRange = true);
168 // プロパティタイプから対応するキークラスの型を取得
169 static GxRtti* getKeyType(GxProperty::TYPE type);
171 GX_FORCE_INLINE GxArrayClassBase* getUnitArray(void){ return &_unitArray; }
173 GxRtdUnit* getUnitFromNodeId(u32 UnitNodeId);
175 GxRtdProp* getPropertyFromNodeId(u32 PropNodeId);
177 GxRtdProp* getPropertyFromNodeId(u32 UnitNodeId, u32 propertyNodeId);
179 GxRtdProp* getPropertyFromNodeId(GxRtdUnit* pUnit, u32 propertyNodeId);
181 b32 getPropertyHierarchyFromNodeId(u32 propertyNodeId, GxArrayClassBase& result);
183 b32 isDescendantProperty(u32 parentPropertyNodeId, u32 descendantPropertyNodeId);
185 b32 isDescendantProperty(GxRtdProp* pParentProperty, u32 descendantPropertyNodeId);
187 b32 isDescendantProperty(GxRtdProp* pParentProperty, GxRtdProp* pDescendantProperty);
189 b32 getPropertyParent(GxRtdUnit*& pParentUnit, GxRtdProp*& pParentProperty, u32 childPropertyNodeId);
190#if GX_DEVELOP
192 constexpr u32 getColumnMarkerNum(void) const { return _columnMarker.getCount(); }
194 GX_FORCE_INLINE const GxRtdColumnMarker* getColumnMarkerInfo(u32 index) const { return reinterpret_cast<GxRtdColumnMarker*>(_columnMarker[index]); }
195 // ColumnMarker更新
196 void updateColumnMarkerInfo(void);
197 // 対象フレームにColumnMarkerがあったらその文字列を取得する(なければnullptr)
198 const GxString* getMarkerString(s32 frame) const;
199#endif //GX_DEVELOP
200private:
202 void getMinMaxFrameSub(GxRtdProp* pRtdProperty, u32& minFrame, u32& maxFrame);
203
205 constexpr u32 getPropertyNum(void) const { return _unitArray.getCount(); }
207 GX_FORCE_INLINE void setPropertyNum(u32 num) { _unitArray.setCount(num); }
209 GX_FORCE_INLINE void getProperty(void* const pValue, u32 index) const { *static_cast<GxResRealTimeDemo**>(pValue) = (_unitArray.getCount() > index) ? static_cast<GxResRealTimeDemo*>(_unitArray[index]) : nullptr; }
211 void setProperty(const void* const pValue, u32 index);
213 GxRtdProp* getPropertyFromNodeIdSub(u32 propertyNodeId, GxRtdProp* pProperty);
215 b32 getPropertyHierarchyFromNodeIdSub(u32 propertyNodeId, GxRtdProp* pParentProperty, GxArrayClassBase& result);
217 b32 deletePropertySub(GxRtdProp* pProperty, u32 propertyNodeId);
219 b32 isDescendantPropertySub(GxRtdProp* pParentProperty, u32 descendantPropertyNodeId);
221 b32 getPropertyParentSub(GxRtdProp*& pResult, u32 childPropertyNodeId, GxRtdProp* pParentProperty);
222#if GX_DEVELOP
224 GX_FORCE_INLINE void setColumnMarkerNum(u32 num) { _columnMarker.setCount(num); }
226 void addColumnMarker(void);
227
229 GX_FORCE_INLINE void getColumnMarker(void* const pValue, u32 index) { *static_cast<GxRtdColumnMarker**>(pValue) = (_columnMarker.getCount() > index) ? reinterpret_cast<GxRtdColumnMarker*>(_columnMarker[index]) : nullptr; }
231 void setColumnMarker(const void* const pValue, u32 index);
232#endif //GX_DEVELOP
233
235 //-----------------------------------------------------------
237 //-----------------------------------------------------------
239protected:
241#if GX_DEVELOP
242 GxArrayClassBase _columnMarker;
243#endif //GX_DEVELOP
244private:
245 u32 _startFrame;
246 u32 _endFrame;
247 u32 _sceneFPS;
248 u32 _reservedNodeIdMax;
249
251};
252
253//===========================================================================
255//===========================================================================
257{
258 //-----------------------------------------------------------
260 //-----------------------------------------------------------
262 friend class GxResRealTimeDemo;
263public:
264 // RTTI定義
266 // new, delete定義
267 GX_OPERATOR_NEW_DELETE(GxAllocatorList::ALLOCATOR_TYPE::RESOURCE)
268
269
270 //-----------------------------------------------------------
272 //-----------------------------------------------------------
274public:
276 GxRtdProp(void);
278 GxRtdProp(u32 nodeId, GxProperty* pProperty, s32 arrayIndex = -1);
280 ~GxRtdProp(void) override;
281
283 //-----------------------------------------------------------
285 //-----------------------------------------------------------
287
289 constexpr u32 getPropertyNum(void) const { return _keyArray.getCount(); }
291 GX_FORCE_INLINE void setPropertyNum(u32 num){ _keyArray.setCount(num); }
293 constexpr void getProperty(void* const pValue, u32 index){ *static_cast<GxRtdKeyBase**>(pValue) = (_keyArray.getCount() > index) ? reinterpret_cast<GxRtdKeyBase*>(_keyArray[index]) : nullptr; }
295 void setProperty(const void* const pValue, u32 index);
297 constexpr u32 getChildNum(void) const { return _childArray.getCount(); }
299 GX_FORCE_INLINE void setChildNum(u32 num){ _childArray.setCount(num); }
301 constexpr void getChildren(void* const pValue, u32 index){ *static_cast<GxRtdProp**>(pValue) = (_childArray.getCount() > index) ? reinterpret_cast<GxRtdProp*>(_childArray[index]) : nullptr; }
303 void setChildren(const void* const pValue, u32 index);
304
306 b32 isKeyable(void) const;
308 b32 isArrayParent(void) const;
310 b32 isArrayElement(void) const;
311
313 constexpr u32 getNodeId(void) const { return _nodeId; }
314
316 constexpr s32 getArrayIndex(void) const { return _arrayIndex; }
317
319 //-----------------------------------------------------------
321 //-----------------------------------------------------------
323public:
324#if GX_DEVELOP
326 constexpr void getPropertyPropertyName(void* const pValue){ *static_cast<GX_CSTR*>(pValue) = (nullptr !=_pProperty) ? _pProperty->getName() : ""; }
328 constexpr void getPropertyRttiName(void* const pValue){ *static_cast<GX_CSTR*>(pValue) = (nullptr !=_pRtti) ? _pRtti->getName() : ""; }
329#endif //GX_DEVELOP
330
332 //-----------------------------------------------------------
334 //-----------------------------------------------------------
336public:
343#if GX_DEVELOP
344 b32 _guiExpand;
345#endif //GX_DEVELOP
346private:
347 u32 _nodeId;
348
350};
351
352//===========================================================================
354//===========================================================================
356{
357 //-----------------------------------------------------------
359 //-----------------------------------------------------------
361
362 friend class GxResRealTimeDemo;
363
364public:
365 // RTTI定義
367 // new, delete定義
368 GX_OPERATOR_NEW_DELETE(GxAllocatorList::ALLOCATOR_TYPE::RESOURCE)
369
370
371 //-----------------------------------------------------------
373 //-----------------------------------------------------------
375
377 GxRtdKeyBase(void) : _frame(0){}
379 ~GxRtdKeyBase(void) override {}
380
382 //-----------------------------------------------------------
384 //-----------------------------------------------------------
386
388 GX_FORCE_INLINE virtual void* getValueAddress(void){ return nullptr; }
389
391 //-----------------------------------------------------------
393 //-----------------------------------------------------------
395public:
396 u32 _frame;
397
399};
400
401//===========================================================================
403//===========================================================================
405{
406 //-----------------------------------------------------------
408 //-----------------------------------------------------------
410public:
411 // RTTI定義
413
414
415 //-----------------------------------------------------------
417 //-----------------------------------------------------------
419
421 GxRtdKeyB32(void) : _value(false){}
422
424 //-----------------------------------------------------------
426 //-----------------------------------------------------------
428
430 GX_FORCE_INLINE void* getValueAddress(void) override { return &(_value); }
431#if GX_DEVELOP
432#if defined(_WINDOWS)
434 constexpr void getPropertyValue(const void* pValue){ *static_cast<b32*>(const_cast<void*>(pValue)) = _value; }
436 void setPropertyValue(void* pValue);
437#endif //_WINDOWS
438#endif //GX_DEVELOP
439
441 //-----------------------------------------------------------
443 //-----------------------------------------------------------
445
447
449};
450
451//===========================================================================
453//===========================================================================
455{
456 //-----------------------------------------------------------
458 //-----------------------------------------------------------
460public:
461 // RTTI定義
463
464
465 //-----------------------------------------------------------
467 //-----------------------------------------------------------
469
471 GxRtdKeyS32(void) : _value(0){}
472
474 //-----------------------------------------------------------
476 //-----------------------------------------------------------
478
480 GX_FORCE_INLINE void* getValueAddress(void) override { return &(_value); }
481#if GX_DEVELOP
482#if defined(_WINDOWS)
484 constexpr void getPropertyValue(const void* pValue){ *static_cast<s32*>(const_cast<void*>(pValue)) = _value; }
486 void setPropertyValue(void* pValue);
487#endif //_WINDOWS
488#endif //GX_DEVELOP
489
491 //-----------------------------------------------------------
493 //-----------------------------------------------------------
495
496 s32 _value;
497
499};
500
501//===========================================================================
503//===========================================================================
505{
506 //-----------------------------------------------------------
508 //-----------------------------------------------------------
510public:
511 // RTTI定義
513
514
515 //-----------------------------------------------------------
517 //-----------------------------------------------------------
519
521 GxRtdKeyU32(void) : _value(0){}
522
524 //-----------------------------------------------------------
526 //-----------------------------------------------------------
528
530 GX_FORCE_INLINE void* getValueAddress(void) override { return &(_value); }
531#if GX_DEVELOP
532#if defined(_WINDOWS)
534 constexpr void getPropertyValue(const void* pValue){ *static_cast<u32*>(const_cast<void*>(pValue)) = _value; }
536 void setPropertyValue(void* pValue);
537#endif //_WINDOWS
538#endif //GX_DEVELOP
539
541 //-----------------------------------------------------------
543 //-----------------------------------------------------------
545
546 u32 _value;
547
549};
550
551//===========================================================================
553//===========================================================================
555{
556 //-----------------------------------------------------------
558 //-----------------------------------------------------------
560public:
561 // RTTI定義
563
564
565 //-----------------------------------------------------------
567 //-----------------------------------------------------------
569
571 GxRtdKeyF32(void) : _value(0.f){}
572
574 //-----------------------------------------------------------
576 //-----------------------------------------------------------
578
580 GX_FORCE_INLINE void* getValueAddress(void) override { return &(_value); }
581#if GX_DEVELOP
582#if defined(_WINDOWS)
584 constexpr void getPropertyValue(const void* pValue){ *static_cast<f32*>(const_cast<void*>(pValue)) = _value; }
586 void setPropertyValue(void* pValue);
587#endif //_WINDOWS
588#endif //GX_DEVELOP
589
591 //-----------------------------------------------------------
593 //-----------------------------------------------------------
595
596 f32 _value;
597
599};
600
601//===========================================================================
603//===========================================================================
605{
606 //-----------------------------------------------------------
608 //-----------------------------------------------------------
610public:
611 // RTTI定義
613
614
615 //-----------------------------------------------------------
617 //-----------------------------------------------------------
619
622
624 //-----------------------------------------------------------
626 //-----------------------------------------------------------
628
630 GX_FORCE_INLINE void* getValueAddress(void) override { return &(_value); }
631#if GX_DEVELOP
632#if defined(_WINDOWS)
634 constexpr void getPropertyValue(const void* pValue){ *static_cast<GxVector2**>(const_cast<void*>(pValue)) = static_cast<GxVector2*>(&_value); }
636 void setPropertyValue(void* pValue);
637#endif //_WINDOWS
638#endif //GX_DEVELOP
639
641 //-----------------------------------------------------------
643 //-----------------------------------------------------------
645
647
649};
650
651//===========================================================================
653//===========================================================================
655{
656 //-----------------------------------------------------------
658 //-----------------------------------------------------------
660public:
661 // RTTI定義
663
664
665 //-----------------------------------------------------------
667 //-----------------------------------------------------------
669
672
674 //-----------------------------------------------------------
676 //-----------------------------------------------------------
678
680 GX_FORCE_INLINE void* getValueAddress(void) override { return &(_value); }
681#if GX_DEVELOP
682#if defined(_WINDOWS)
684 constexpr void getPropertyValue(const void* pValue){ *static_cast<GxVector3**>(const_cast<void*>(pValue)) = static_cast<GxVector3*>(&_value); }
686 void setPropertyValue(void* pValue);
687#endif //_WINDOWS
688#endif //GX_DEVELOP
689
691 //-----------------------------------------------------------
693 //-----------------------------------------------------------
695
697
699};
700
701//===========================================================================
703//===========================================================================
705{
706 //-----------------------------------------------------------
708 //-----------------------------------------------------------
710public:
711 // RTTI定義
713
714
715 //-----------------------------------------------------------
717 //-----------------------------------------------------------
719
722
724 //-----------------------------------------------------------
726 //-----------------------------------------------------------
728
730 GX_FORCE_INLINE void* getValueAddress(void) override { return &(_value); }
731#if GX_DEVELOP
732#if defined(_WINDOWS)
734 constexpr void getPropertyValue(const void* pValue){ *static_cast<GxQuaternion**>(const_cast<void*>(pValue)) = static_cast<GxQuaternion*>(&_value); }
736 void setPropertyValue(void* pValue);
737#endif //_WINDOWS
738#endif //GX_DEVELOP
739
741 //-----------------------------------------------------------
743 //-----------------------------------------------------------
745
747
749};
750
751//===========================================================================
753//===========================================================================
755{
756 //-----------------------------------------------------------
758 //-----------------------------------------------------------
760public:
761 // RTTI定義
763
764
765 //-----------------------------------------------------------
767 //-----------------------------------------------------------
769
772
774 //-----------------------------------------------------------
776 //-----------------------------------------------------------
778
780 GX_FORCE_INLINE void* getValueAddress(void) override { return &(_value); }
781#if GX_DEVELOP
782#if defined(_WINDOWS)
784 constexpr void getPropertyValue(const void* pValue){ *static_cast<GxColor**>(const_cast<void*>(pValue)) = static_cast<GxColor*>(&_value); }
786 void setPropertyValue(void* pValue);
787#endif //_WINDOWS
788#endif //GX_DEVELOP
789
791 //-----------------------------------------------------------
793 //-----------------------------------------------------------
795
797
799};
800
801//===========================================================================
803//===========================================================================
805{
806 //-----------------------------------------------------------
808 //-----------------------------------------------------------
810public:
811 // RTTI定義
813
814
815 //-----------------------------------------------------------
817 //-----------------------------------------------------------
819
821 GxRtdKeyColorHDR(void) : _value(GxColorHDR(1.f, 1.f, 1.f, 1.f)){}
822
824 //-----------------------------------------------------------
826 //-----------------------------------------------------------
828
830 GX_FORCE_INLINE void* getValueAddress(void) override { return &(_value); }
831#if GX_DEVELOP
832#if defined(_WINDOWS)
834 constexpr void getPropertyValue(const void* pValue){ *static_cast<GxColorHDR**>(const_cast<void*>(pValue)) = static_cast<GxColorHDR*>(&_value); }
836 void setPropertyValue(void* pValue);
837#endif //_WINDOWS
838#endif //GX_DEVELOP
839
841 //-----------------------------------------------------------
843 //-----------------------------------------------------------
845
847
849};
850
851//===========================================================================
853//===========================================================================
855{
856 //-----------------------------------------------------------
858 //-----------------------------------------------------------
860public:
861 // RTTI定義
863
864
865 //-----------------------------------------------------------
867 //-----------------------------------------------------------
869
871 GxRtdKeyString(void) : _value(""){}
872
874 //-----------------------------------------------------------
876 //-----------------------------------------------------------
878
880 GX_FORCE_INLINE void* getValueAddress(void) override { return &(_value); }
881#if GX_DEVELOP
882#if defined(_WINDOWS)
884 void getPropertyValue(const void* pValue);
886 void setPropertyValue(void* pValue);
887#endif //_WINDOWS
888#endif //GX_DEVELOP
889
891 //-----------------------------------------------------------
893 //-----------------------------------------------------------
895
897
899};
900
901//===========================================================================
903//===========================================================================
905{
906 //-----------------------------------------------------------
908 //-----------------------------------------------------------
910public:
911 // RTTI定義
913
914
915 //-----------------------------------------------------------
917 //-----------------------------------------------------------
919
921 GxRtdKeyResource(void) : _pRtti(nullptr){}
922
924 //-----------------------------------------------------------
926 //-----------------------------------------------------------
928
931
933};
934
935//===========================================================================
937//===========================================================================
939{
940 //-----------------------------------------------------------
942 //-----------------------------------------------------------
944public:
945 // RTTI定義
947
948
949 //-----------------------------------------------------------
951 //-----------------------------------------------------------
953
956
958};
959
960#if GX_DEVELOP
961//===========================================================================
963//===========================================================================
964class GxResRealTimeDemoXml : public GxResRealTimeDemo
965{
966 //-----------------------------------------------------------
968 //-----------------------------------------------------------
970public:
971 // RTTI定義
972 GX_RTTI_RESOURCE(GxResRealTimeDemoXml, GxResRealTimeDemo)
973
974
975 //-----------------------------------------------------------
977 //-----------------------------------------------------------
979public:
981 GxResRealTimeDemoXml(void){}
983 ~GxResRealTimeDemoXml(void) override {}
984
986 //-----------------------------------------------------------
988 //-----------------------------------------------------------
990
992 b32 load(GxStream&, u32);
994 b32 save(GxStream&);
996 b32 build(void);
997
998private:
1000 void convertResourceRtti(GxRtdProp* pProperty);
1001
1003};
1004
1005//===========================================================================
1007//===========================================================================
1008class GxRealTimeDemoEditInterface : public GxClassBase
1009{
1010 //-----------------------------------------------------------
1012 //-----------------------------------------------------------
1014public:
1015 // RTTI定義
1016 GX_RTTI_CLASS(GxRealTimeDemoEditInterface, GxClassBase)
1017
1018
1019 //-----------------------------------------------------------
1021 //-----------------------------------------------------------
1023public:
1025 GxRealTimeDemoEditInterface(void) : _pRes(nullptr){}
1027 GxRealTimeDemoEditInterface(GxResRealTimeDemo* pRes):_pRes(pRes){}
1029 ~GxRealTimeDemoEditInterface(void) override {}
1030
1032 //-----------------------------------------------------------
1034 //-----------------------------------------------------------
1036public:
1038 constexpr void setResource(GxResRealTimeDemo* pRes){ _pRes = pRes; }
1039
1041 GxResRealTimeDemo::GxRtdUnit* addUnit(GxRtti* pUnitType);
1043 void deleteUnit(u32 unitNodeId);
1044
1046 GxResRealTimeDemo::GxRtdProp* addProperty(u32 unitNodeId, GxProperty* pProperty, u32 elementCount = 0);
1048 GxResRealTimeDemo::GxRtdProp* addPropertyChild(u32 parentPropertyNodeId, GxProperty* pProperty, u32 elementCount = 0);
1050 b32 setArrayPropertyElementCount(u32 propertyNodeId, u32 elementNum);
1052 void deleteProperty(u32 propertyNodeId);
1053
1055 GxResRealTimeDemo::GxRtdKeyBase* addKey(u32 propertyNodeId, u32 frame, GxUnitBase* pOwner);
1057 void deleteKey(u32 propertyNodeId, u32 frame);
1059 GxResRealTimeDemo::GxRtdKeyBase* getKey(u32 propertyNodeId, u32 frame, GxUnitBase* pOwner);
1060
1062 GxClassBaseRoot* getObjectPointerPropertyValue(GxUnitBase* pUnit, u32 propertyNodeId);
1063
1065 //-----------------------------------------------------------
1067 //-----------------------------------------------------------
1069private:
1071 GxResRealTimeDemo::GxRtdKeyBase* createTypedKey(u32 propertyNodeId, GxUnitBase* pOwner);
1072
1074 //-----------------------------------------------------------
1076 //-----------------------------------------------------------
1078private:
1079 GxResRealTimeDemo* _pRes;
1081};
1082
1083//===========================================================================
1085//===========================================================================
1086class GxResRealTimeDemo::GxRtdColumnMarker : public GxClassBase
1087{
1088 //-----------------------------------------------------------
1090 //-----------------------------------------------------------
1092public:
1093 // RTTI定義
1094 GX_RTTI_CLASS(GxResRealTimeDemo::GxRtdColumnMarker, GxClassBase)
1095
1096
1097 //-----------------------------------------------------------
1099 //-----------------------------------------------------------
1101
1103 GxRtdColumnMarker(void){}
1104
1106 //-----------------------------------------------------------
1108 //-----------------------------------------------------------
1110
1111 s32 _frame;
1112 GxColor _color;
1113 GxString _string;
1114
1116};
1117#endif //GX_DEVELOP
1118
1119GX_UTILITY_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
@ IDENTITY
基礎値で初期化
#define GX_RTTI_RESOURCE(__THIS__, __BASE__)
リソースクラス型情報宣言
Definition GxRttiResource.h:102
配列クラス
Definition GxArrayClassBase.h:18
constexpr u32 getCount(void) const
配列数を取得
Definition GxArrayClassBase.h:109
void setCount(u32 count)
配列数を設定
Definition GxArrayClassBase.cpp:246
配列クラス
Definition GxArray.h:18
オブジェクト基底クラス
Definition GxBase.h:88
基底クラス
Definition GxBase.h:51
プロパティクラス
Definition GxProperty.h:48
TYPE
タイプ定義
Definition GxProperty.h:56
リソース基底クラス
Definition GxResBase.h:23
RTD再生用キー(B32)
Definition GxResRealTimeDemo.h:405
GX_FORCE_INLINE void * getValueAddress(void) override
値のアドレスを取得
Definition GxResRealTimeDemo.h:430
b32 _value
Definition GxResRealTimeDemo.h:446
RTD再生用キー
Definition GxResRealTimeDemo.h:356
~GxRtdKeyBase(void) override
デストラクタ
Definition GxResRealTimeDemo.h:379
u32 _frame
フレーム
Definition GxResRealTimeDemo.h:396
virtual GX_FORCE_INLINE void * getValueAddress(void)
値のアドレスを取得
Definition GxResRealTimeDemo.h:388
RTD再生用キー(ColorHDR)
Definition GxResRealTimeDemo.h:805
GxColorHDR _value
Definition GxResRealTimeDemo.h:846
GX_FORCE_INLINE void * getValueAddress(void) override
値のアドレスを取得
Definition GxResRealTimeDemo.h:830
RTD再生用キー(Color)
Definition GxResRealTimeDemo.h:755
GX_FORCE_INLINE void * getValueAddress(void) override
値のアドレスを取得
Definition GxResRealTimeDemo.h:780
GxColor _value
Definition GxResRealTimeDemo.h:796
RTD再生用キー(イベント)
Definition GxResRealTimeDemo.h:939
RTD再生用キー(F32)
Definition GxResRealTimeDemo.h:555
f32 _value
Definition GxResRealTimeDemo.h:596
GX_FORCE_INLINE void * getValueAddress(void) override
値のアドレスを取得
Definition GxResRealTimeDemo.h:580
RTD再生用キー(Quaternion)
Definition GxResRealTimeDemo.h:705
GxQuaternion _value
Definition GxResRealTimeDemo.h:746
GX_FORCE_INLINE void * getValueAddress(void) override
値のアドレスを取得
Definition GxResRealTimeDemo.h:730
RTD再生用キー(リソース)
Definition GxResRealTimeDemo.h:905
GxString _path
パス
Definition GxResRealTimeDemo.h:929
GxRttiResource * _pRtti
RTTI.
Definition GxResRealTimeDemo.h:930
RTD再生用キー(S32)
Definition GxResRealTimeDemo.h:455
GX_FORCE_INLINE void * getValueAddress(void) override
値のアドレスを取得
Definition GxResRealTimeDemo.h:480
s32 _value
Definition GxResRealTimeDemo.h:496
RTD再生用キー(String)
Definition GxResRealTimeDemo.h:855
GxString _value
Definition GxResRealTimeDemo.h:896
GX_FORCE_INLINE void * getValueAddress(void) override
値のアドレスを取得
Definition GxResRealTimeDemo.h:880
RTD再生用キー(U32)
Definition GxResRealTimeDemo.h:505
u32 _value
Definition GxResRealTimeDemo.h:546
GX_FORCE_INLINE void * getValueAddress(void) override
値のアドレスを取得
Definition GxResRealTimeDemo.h:530
RTD再生用キー(Vector2)
Definition GxResRealTimeDemo.h:605
GX_FORCE_INLINE void * getValueAddress(void) override
値のアドレスを取得
Definition GxResRealTimeDemo.h:630
GxVector2 _value
Definition GxResRealTimeDemo.h:646
RTD再生用キー(Vector3)
Definition GxResRealTimeDemo.h:655
GX_FORCE_INLINE void * getValueAddress(void) override
値のアドレスを取得
Definition GxResRealTimeDemo.h:680
GxVector3 _value
Definition GxResRealTimeDemo.h:696
RTD再生用プロパティ
Definition GxResRealTimeDemo.h:257
~GxRtdProp(void) override
デストラクタ
Definition GxResRealTimeDemo.cpp:934
GxArrayClassBase _childArray
子プロパティ配列
Definition GxResRealTimeDemo.h:342
b32 isKeyable(void) const
直接キー設定可能か判定
Definition GxResRealTimeDemo.cpp:985
void setProperty(const void *const pValue, u32 index)
キーを設定(プロパティ用)
Definition GxResRealTimeDemo.cpp:956
GxRtti * _pRtti
プロパティのRTTI
Definition GxResRealTimeDemo.h:338
GxArrayClassBase _keyArray
キー配列
Definition GxResRealTimeDemo.h:341
constexpr u32 getNodeId(void) const
ノードIDを取得
Definition GxResRealTimeDemo.h:313
constexpr void getProperty(void *const pValue, u32 index)
キーを取得(プロパティ用)
Definition GxResRealTimeDemo.h:293
constexpr void getChildren(void *const pValue, u32 index)
子プロパティを取得(プロパティ用)
Definition GxResRealTimeDemo.h:301
s32 _arrayIndex
配列インデックス
Definition GxResRealTimeDemo.h:340
constexpr u32 getChildNum(void) const
子プロパティ配列の要素数を取得(プロパティ用)
Definition GxResRealTimeDemo.h:297
s32 _interpolateType
補間タイプ
Definition GxResRealTimeDemo.h:339
GX_FORCE_INLINE void setPropertyNum(u32 num)
キー配列の要素数を設定(プロパティ用)
Definition GxResRealTimeDemo.h:291
constexpr u32 getPropertyNum(void) const
キー配列の要素数を取得(プロパティ用)
Definition GxResRealTimeDemo.h:289
GxProperty * _pProperty
プロパティ
Definition GxResRealTimeDemo.h:337
GxRtdProp(void)
デフォルトコンストラクタ
Definition GxResRealTimeDemo.cpp:887
b32 isArrayElement(void) const
配列の要素か判定
Definition GxResRealTimeDemo.cpp:1047
constexpr s32 getArrayIndex(void) const
配列のindex取得
Definition GxResRealTimeDemo.h:316
b32 isArrayParent(void) const
配列の親か判定
Definition GxResRealTimeDemo.cpp:1034
GX_FORCE_INLINE void setChildNum(u32 num)
子プロパティ配列の要素数を設定(プロパティ用)
Definition GxResRealTimeDemo.h:299
void setChildren(const void *const pValue, u32 index)
子プロパティを設定(プロパティ用)
Definition GxResRealTimeDemo.cpp:971
RTDユニット
Definition GxResRealTimeDemo.h:54
GX_FORCE_INLINE void getProperty(void *const pValue, u32 index)
プロパティを取得
Definition GxResRealTimeDemo.h:90
GX_FORCE_INLINE void setPropertyNum(u32 num)
プロパティ数を設定
Definition GxResRealTimeDemo.h:88
GxArrayClassBase _propertyArray
ユニットに対してキー設定するプロパティ配列
Definition GxResRealTimeDemo.h:109
GxString _userData
ユーザーがDCCツール上で自由に設定できる文字列(アプリケーションで任意で使用できるパラメータ)
Definition GxResRealTimeDemo.h:111
s32 _discrimID
自由に設定できるユニット識別用ID
Definition GxResRealTimeDemo.h:110
void setProperty(const void *const pValue, u32 index)
プロパティを設定
Definition GxResRealTimeDemo.cpp:874
GxRtdUnit(void)
デフォルトコンストラクタ
Definition GxResRealTimeDemo.cpp:815
constexpr u32 getNodeId(void) const
ノードIDを取得
Definition GxResRealTimeDemo.h:94
GxRtti * _pRtti
ユニットのRtti
Definition GxResRealTimeDemo.h:108
~GxRtdUnit(void) override
デストラクタ
Definition GxResRealTimeDemo.cpp:845
GxString _type
表示名の変更(type)
Definition GxResRealTimeDemo.h:112
constexpr u32 getPropertyNum(void) const
プロパティ数を取得
Definition GxResRealTimeDemo.h:86
void initializeAfterRttiLoaded(void)
RTTIとリソース読み込み後の_typeの更新
Definition GxResRealTimeDemo.cpp:858
リアルタイムデモ設定リソース
Definition GxResRealTimeDemo.h:23
b32 load(GxStream &, u32)
読み込み
Definition GxResRealTimeDemo.cpp:258
GxRtdProp * getPropertyFromNodeId(u32 PropNodeId)
ノードIDからプロパティを取得
Definition GxResRealTimeDemo.cpp:435
static GxRtti * getKeyType(GxProperty::TYPE type)
Definition GxResRealTimeDemo.cpp:361
GX_FORCE_INLINE GxArrayClassBase * getUnitArray(void)
ユニットの配列を取得
Definition GxResRealTimeDemo.h:171
GxArrayClassBase _unitArray
ユニットArray
Definition GxResRealTimeDemo.h:240
constexpr u32 getEndFrame(void) const
終了フレームの取得
Definition GxResRealTimeDemo.h:163
constexpr u32 getStartFrame(void) const
開始フレームの取得
Definition GxResRealTimeDemo.h:161
GxResRealTimeDemo(void)
デフォルトコンストラクタ
Definition GxResRealTimeDemo.cpp:220
GxRtdUnit * getUnitFromNodeId(u32 UnitNodeId)
ノードIDからユニットを取得
Definition GxResRealTimeDemo.cpp:413
b32 getPropertyHierarchyFromNodeId(u32 propertyNodeId, GxArrayClassBase &result)
ノードIDからプロパティを検索し、親Unitから順に配列に取得
Definition GxResRealTimeDemo.cpp:555
void getMinMaxKeyFrame(u32 &minFrame, u32 &maxFrame, b32 considerPlayRange=true)
キーの存在する最小/最大フレームを取得
Definition GxResRealTimeDemo.cpp:299
b32 getPropertyParent(GxRtdUnit *&pParentUnit, GxRtdProp *&pParentProperty, u32 childPropertyNodeId)
プロパティの親か判定
Definition GxResRealTimeDemo.cpp:748
constexpr u32 getSceneFPS(void) const
シーンに設定されたFPSの取得
Definition GxResRealTimeDemo.h:165
void cleanup(void) override
解放処理
Definition GxResRealTimeDemo.cpp:231
b32 isDescendantProperty(u32 parentPropertyNodeId, u32 descendantPropertyNodeId)
プロパティがプロパティの子孫であるか判定
Definition GxResRealTimeDemo.cpp:687
実行時型情報クラス
Definition GxRtti.h:154
@ UNIT_MOVIE
ムービーユニット
リソース実行時型情報クラス
Definition GxRttiResource.h:188
ストリーム基礎クラス
Definition GxStream.h:20
ユニット基礎クラス
Definition GxUnitBase.h:45
色(HDR)
Definition GxColor.h:241
Definition GxColor.h:21
クォータニオン
Definition GxQuaternion.h:19
文字列型クラス
Definition GxString.h:18
2次元ベクトル
Definition GxVector.h:34
3次元ベクトル
Definition GxVector.h:245
32bitブーリアン
Definition GxDefine.h:173