OROCHI
 
Loading...
Searching...
No Matches
GxToolModel.h
Go to the documentation of this file.
1//===========================================================================
9//===========================================================================
10#pragma once
11
12#if GX_EDITOR
13GX_CORE_NAMESPACE_BEGIN()
14
15//===========================================================================
17//===========================================================================
18class GxToolModel : public GxToolResourceViewBase
19{
20 //-------------------------------------------------------------
22 //-------------------------------------------------------------
24public:
25 class GxGuiFormPreview;
26
27 // RTTI定義
28 GX_RTTI_CLASS_NAME_ICON( GxToolModel, GxToolResourceViewBase, "モデルビューワ", GxRtti::ICON_TYPE::CORE)
29 // ClassBaseReference継承クラス用禁止宣言
31
32
33 //-------------------------------------------------------------
35 //-------------------------------------------------------------
37public:
39 GxToolModel( void );
40
42 b32 initialize( void ) override;
44 void setResource(GxResBase* pResource) override;
45
47 //-------------------------------------------------------------
49 //-------------------------------------------------------------
51protected:
53 void update( void ) override;
54
56 //-------------------------------------------------------------
58 //-------------------------------------------------------------
60private:
61 GxGuiSplitter* _pSplitterHorizontal;
62 GxGuiFormPreview* _pFormPreview;
63 GxGuiFormProperty* _pFormProperty;
64
66};
67
68//===========================================================================
70//===========================================================================
71class GxToolModel::GxGuiFormPreview : public GxGuiFormTexture
72{
73 //-----------------------------------------------------------
75 //-----------------------------------------------------------
77public:
78 GX_RTTI_CLASS(GxGuiFormPreview, GxGuiFormTexture)
79 // ClassBaseReference継承クラス用禁止宣言
80 GX_PROHIBIT_CLASS_BASE_REFERENCE(GxGuiFormPreview)
81
82
83 //-----------------------------------------------------------
85 //-----------------------------------------------------------
87public:
89 GxGuiFormPreview(void);
91 b32 initialize(void) override;
93 void cleanup(void) override;
94
96 static constexpr void setPreviewUnitRtti(GxRtti* pRtti) { _pPreviewUnitRtti = pRtti; }
97
99 //-------------------------------------------------------------
101 //-------------------------------------------------------------
103protected:
105 void update(void) override;
106public:
108 GX_FORCE_INLINE void focusUnit(void) const { _pPreviewCamera->focusUnit(_pPreviewUnit); }
109
111 //-------------------------------------------------------------
113 //-------------------------------------------------------------
115public:
117 constexpr GxUnitModelBase* getPreviewUnit(void) const { return _pPreviewUnit; }
118
120 //-------------------------------------------------------------
122 //-------------------------------------------------------------
124private:
125 static GxRtti* _pPreviewUnitRtti;
126 GxUnitModelBase* _pPreviewUnit;
127 GxUnitCameraBase* _pPreviewCamera;
128 GxSysRenderBase::GxViewport* _pViewport;
129 u32 _thumbnailFrameCount;
130
132};
133
134GX_CORE_NAMESPACE_END()
135
136#endif // GX_EDITOR
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
リソース基底クラス
Definition GxResBase.h:23
実行時型情報クラス
Definition GxRtti.h:154
ビューポートクラス
Definition GxSysRenderBase.h:414
カメラ基礎クラス
Definition GxUnitCameraBase.h:20
モデル基礎クラス
Definition GxUnitModelBase.h:19
32bitブーリアン
Definition GxDefine.h:173