aboutsummaryrefslogtreecommitdiff
path: root/tools/ArtistTools/source/CoreLib/PluginInterface.h
blob: aae8da83ad8eeb50b09c5f21e569a73c996a554e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#ifndef BlastInterface_H
#define BlastInterface_H

#include <QtCore/QString>
#include <QtCore/QObject>
#if USE_CURVE_EDITOR
#include <Attribute.h>
#endif
#include <Nv/NvBlastCommon.h>
class QMenuBar;
class QHBoxLayout;
class QVBoxLayout;
class QTabWidget;

class Camera;
class Light;
enum RenderApi;
namespace NvParameterized
{
	class Interface;
	class Handle;
}
class D3D11RenderShader;
class QCloseEvent;
#define NV_AT_UNUSED

class QResizeEvent;
class QPaintEvent;
class QMouseEvent;
class QWheelEvent;
class QKeyEvent;
class QDragEnterEvent;
class QDragMoveEvent;
class QDragLeaveEvent;
class QDropEvent;
class QContextMenuEvent;

class PluginInterface
{
public:
	virtual ~PluginInterface() {}

	virtual QString GetPluginName() = 0;

	virtual bool CoreLib_RunApp() = 0;

	virtual bool LoadRenderPlugin(std::string api) = 0;

	virtual bool GetBoneNames(std::vector<std::string>& BoneNames) = 0;

	NV_AT_UNUSED virtual bool MainToolbar_updateValues() = 0;

	NV_AT_UNUSED virtual bool CurveEditor_updateValues(int _paramId, float* _values) = 0;
	NV_AT_UNUSED virtual bool CurveEditor_onUpdateValues(int _paramId, float* _values) = 0;

	virtual bool DisplayMeshesPanel_updateValues() = 0;
	virtual bool DisplayMeshesPanel_EmitToggleSignal(unsigned int id, bool visible) = 0;
	
	virtual bool Camera_LoadParameters(void* ptr, Camera* pCamera) = 0;
	virtual bool Camera_SaveParameters(void * ptr, Camera* pCamera) = 0;

	virtual bool Gamepad_ToggleSimulation() = 0;
	virtual bool Gamepad_ResetScene() = 0;
	NV_AT_UNUSED virtual bool Gamepad_LoadSamples(QString fn) = 0;
	virtual bool Gamepad_StartAnimation() = 0;
	virtual bool GamepadHandler_ShowHair() = 0;
	virtual bool GamepadHandler_SpinWindStrength(float windStrength) = 0;
	virtual bool Gamepad_ResetAnimation() = 0;
	virtual bool Gamepad_PlayPauseAnimation() = 0;
	
	virtual bool Light_loadParameters(NvParameterized::Handle& handle, Light* pLight) = 0;
	virtual bool Light_saveParameters(NvParameterized::Handle& handle, Light* pLight) = 0;

	virtual bool SimpleScene_SimpleScene() = 0;
	virtual bool SimpleScene_Initialize(int backdoor) = 0;
	virtual bool SimpleScene_Shutdown() = 0;
	virtual bool SimpleScene_Clear() = 0;
	virtual bool SimpleScene_Draw_DX12() = 0;
	virtual bool SimpleScene_Draw_DX11() = 0;
	virtual bool SimpleScene_FitCamera(atcore_float3& center, atcore_float3& extents) = 0;
	virtual bool SimpleScene_LoadSceneFromFbx(const char* dir, const char* fbxName) = 0;
	virtual bool SimpleScene_LoadProject(const char* dir, const char* file) = 0;
	virtual bool SimpleScene_SaveProject(const char* dir, const char* file) = 0;
	virtual bool SimpleScene_LoadParameters(NvParameterized::Interface* iface) = 0;
	virtual bool SimpleScene_SaveParameters(NvParameterized::Interface* iface) = 0;
	virtual bool SimpleScene_LoadCameraBookmarks(NvParameterized::Interface* iface) = 0;
	virtual bool SimpleScene_SaveCameraBookmarks(NvParameterized::Interface* iface) = 0;
	NV_AT_UNUSED virtual bool SimpleScene_DrawGround() = 0;
	NV_AT_UNUSED virtual bool SimpleScene_DrawWind() = 0;
	NV_AT_UNUSED virtual bool SimpleScene_DrawAxis() = 0;

	virtual bool D3DWidget_resizeEvent(QResizeEvent* e) = 0;
	virtual bool D3DWidget_paintEvent(QPaintEvent* e) = 0;
	virtual bool D3DWidget_mousePressEvent(QMouseEvent* e) = 0;
	virtual bool D3DWidget_mouseReleaseEvent(QMouseEvent* e) = 0;
	virtual bool D3DWidget_mouseMoveEvent(QMouseEvent* e) = 0;
	virtual bool D3DWidget_wheelEvent(QWheelEvent * e) = 0;
	virtual bool D3DWidget_keyPressEvent(QKeyEvent* e) = 0;
	virtual bool D3DWidget_keyReleaseEvent(QKeyEvent* e) = 0;
	virtual bool D3DWidget_dragEnterEvent(QDragEnterEvent *e) = 0;
	virtual bool D3DWidget_dragMoveEvent(QDragMoveEvent *e) = 0;
	virtual bool D3DWidget_dragLeaveEvent(QDragLeaveEvent *e) = 0;
	virtual bool D3DWidget_dropEvent(QDropEvent *e) = 0;
	virtual bool D3DWidget_contextMenuEvent(QContextMenuEvent *e) = 0;

	virtual bool D3D11Shaders_InitializeShadersD3D11(std::map<int, D3D11RenderShader*>& ShaderMap) = 0;

	virtual bool AppMainWindow_AppMainWindow() = 0;
	virtual bool AppMainWindow_InitMenuItems(QMenuBar* pMenuBar) = 0;
	virtual bool AppMainWindow_InitMainTab(QWidget *displayScrollAreaContents, QVBoxLayout *displayScrollAreaLayout, int idx) = 0;
	virtual bool AppMainWindow_InitPluginTab(QTabWidget* pTabWidget) = 0;
	virtual bool AppMainWindow_InitUI() = 0;
	virtual bool AppMainWindow_updateUI() = 0;
	virtual bool AppMainWindow_updatePluginUI() = 0;
	NV_AT_UNUSED virtual bool AppMainWindow_processDragAndDrop(QString fname) = 0;
	virtual bool AppMainWindow_closeEvent(QCloseEvent *event) = 0;
	virtual bool AppMainWindow_InitToolbar(QWidget *pQWidget, QVBoxLayout* pLayout) = 0;
	virtual bool AppMainWindow_shortcut_expert(bool mode) = 0;
	virtual bool AppMainWindow_updateMainToolbar() = 0;

	virtual bool AppMainWindow_menu_about() = 0;
	virtual bool AppMainWindow_menu_opendoc() = 0;
#if USE_CURVE_EDITOR
	virtual bool AppMainWindow_UpdateCurveEditor() = 0;
	virtual bool AppMainWindow_ShowCurveEditor(int paramId) = 0;
	virtual bool AppMainWindow_onCurveAttributeChanged(nvidia::CurveEditor::CurveAttribute* attribute) = 0;
	virtual bool AppMainWindow_onColorAttributeChanged(nvidia::CurveEditor::ColorAttribute* attribute) = 0;
	virtual bool AppMainWindow_onReloadColorAttributeTexture(nvidia::CurveEditor::ColorAttribute* attribute, bool reloadColorTex, int selectedCtrlPntIndex) = 0;
#endif
};

QT_BEGIN_NAMESPACE
#define PluginInterface_iid "com.nvidia.PluginInterface"
Q_DECLARE_INTERFACE(PluginInterface, PluginInterface_iid)
QT_END_NAMESPACE

#endif