Plasma Engine  2.0
Loading...
Searching...
No Matches
ConeLengthGizmo.h
1#pragma once
2
3#include <EditorEngineProcessFramework/Gizmos/GizmoHandle.h>
4#include <EditorFramework/Gizmos/GizmoBase.h>
5#include <QPoint>
6#include <ToolsFoundation/ToolsFoundationDLL.h>
7
8class PL_EDITORFRAMEWORK_DLL plConeLengthGizmo : public plGizmo
9{
10 PL_ADD_DYNAMIC_REFLECTION(plConeLengthGizmo, plGizmo);
11
12public:
14
15 void SetRadius(float fRadius);
16 float GetRadius() const { return m_fRadius; }
17
18protected:
19 virtual void DoFocusLost(bool bCancel) override;
20
21 virtual plEditorInput DoMousePressEvent(QMouseEvent* e) override;
22 virtual plEditorInput DoMouseReleaseEvent(QMouseEvent* e) override;
23 virtual plEditorInput DoMouseMoveEvent(QMouseEvent* e) override;
24
25 virtual void OnSetOwner(plQtEngineDocumentWindow* pOwnerWindow, plQtEngineViewWidget* pOwnerView) override;
26 virtual void OnVisibleChanged(bool bVisible) override;
27 virtual void OnTransformationChanged(const plTransform& transform) override;
28
29
30private:
31 plTime m_LastInteraction;
32
33 plVec2I32 m_vLastMousePos;
34
35 plEngineGizmoHandle m_hConeRadius;
36
37 enum class ManipulateMode
38 {
39 None,
40 Radius
41 };
42
43 ManipulateMode m_ManipulateMode;
44
45 float m_fRadius;
46 float m_fRadiusScale;
47};
Definition ConeLengthGizmo.h:9
Definition GizmoHandle.h:90
Definition GizmoBase.h:25
Base class for all document windows that need a connection to the engine process, and might want to r...
Definition EngineDocumentWindow.moc.h:37
Base class for views that show engine output.
Definition EngineViewWidget.moc.h:34
The time class encapsulates a double value storing the time in seconds.
Definition Time.h:12