Plasma Engine  2.0
Loading...
Searching...
No Matches
GizmoEditTool.h
1#pragma once
2
3#include <EditorFramework/EditTools/EditTool.h>
4#include <EditorFramework/EditorFrameworkDLL.h>
5
12struct plGizmoEvent;
13
14class PL_EDITORFRAMEWORK_DLL plGameObjectGizmoEditTool : public plGameObjectEditTool
15{
16 PL_ADD_DYNAMIC_REFLECTION(plGameObjectGizmoEditTool, plGameObjectEditTool);
17
18public:
21
22 void TransformationGizmoEventHandler(const plGizmoEvent& e);
23
24protected:
25 virtual void OnConfigured() override;
26
27 void UpdateGizmoSelectionList();
28
29 void UpdateGizmoVisibleState();
30 virtual void ApplyGizmoVisibleState(bool visible) = 0;
31
32 void UpdateGizmoTransformation();
33 virtual void ApplyGizmoTransformation(const plTransform& transform) = 0;
34
35 virtual void TransformationGizmoEventHandlerImpl(const plGizmoEvent& e) = 0;
36
37 plDeque<plSelectedGameObject> m_GizmoSelection;
38 bool m_bInGizmoInteraction = false;
39 bool m_bMergeTransactions = false;
40
41private:
42 void DocumentWindowEventHandler(const plQtDocumentWindowEvent& e);
43 void UpdateManipulatorVisibility();
44 void GameObjectEventHandler(const plGameObjectEvent& e);
45 void CommandHistoryEventHandler(const plCommandHistoryEvent& e);
46 void SelectionManagerEventHandler(const plSelectionManagerEvent& e);
47 void ManipulatorManagerEventHandler(const plManipulatorManagerEvent& e);
48 void EngineWindowEventHandler(const plEngineWindowEvent& e);
49 void ObjectStructureEventHandler(const plDocumentObjectStructureEvent& e);
50};
Definition Deque.h:270
Definition EditTool.h:29
Definition GizmoEditTool.h:15
Definition CommandHistory.h:31
Used by plDocumentObjectManager::m_StructureEvents.
Definition DocumentObjectManager.h:45
Definition EngineDocumentWindow.moc.h:21
Definition GameObjectDocument.h:28
Definition GizmoBase.h:11
Definition ManipulatorManager.h:14
Definition DocumentWindow.moc.h:19
Definition SelectionManager.h:10