/
redgpu
/
ezEngine
Обзор
Документация
Войти
/
redgpu
/
ezEngine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
Code/Editor/EditorFramework/Gizmos/DrawBoxGizmo.h
66 строк
2 KB
Ingrater
Implement parameter coding guidelines in clang-tidy (#808)
18 фев 2023, 13:18
Не верифицирован
18 фев 2023, 13:18
3c98d47
Код
Авторство
О чём код?
#pragma once #include <EditorEngineProcessFramework/Gizmos/GizmoHandle.h> #include <EditorFramework/Gizmos/GizmoBase.h> #include <QPoint> #include <ToolsFoundation/ToolsFoundationDLL.h> class EZ_EDITORFRAMEWORK_DLL ezDrawBoxGizmo : public ezGizmo { EZ_ADD_DYNAMIC_REFLECTION(ezDrawBoxGizmo, ezGizmo); public: enum class ManipulateMode { None, DrawBase, DrawHeight, }; ezDrawBoxGizmo(); ~ezDrawBoxGizmo(); void GetResult(ezVec3& out_vOrigin, float& out_fSizeNegX, float& out_fSizePosX, float& out_fSizeNegY, float& out_fSizePosY, float& out_fSizeNegZ, float& out_fSizePosZ) const; ManipulateMode GetCurrentMode() const { return m_ManipulateMode; } const ezVec3& GetStartPosition() const { return m_vFirstCorner; } virtual void UpdateStatusBarText(ezQtEngineDocumentWindow* pWindow) override; bool GetDisplayGrid() const { return m_bDisplayGrid; } protected: virtual void DoFocusLost(bool bCancel) override; virtual ezEditorInput DoMousePressEvent(QMouseEvent* e) override; virtual ezEditorInput DoMouseReleaseEvent(QMouseEvent* e) override; virtual ezEditorInput DoMouseMoveEvent(QMouseEvent* e) override; virtual ezEditorInput DoKeyPressEvent(QKeyEvent* e) override; virtual ezEditorInput DoKeyReleaseEvent(QKeyEvent* e) override; virtual void OnSetOwner(ezQtEngineDocumentWindow* pOwnerWindow, ezQtEngineViewWidget* pOwnerView) override; virtual void OnVisibleChanged(bool bVisible) override; virtual void OnTransformationChanged(const ezTransform& transform) override; private: void SwitchMode(bool bCancel); void UpdateBox(); void DisableGrid(bool bControlPressed); void UpdateGrid(QMouseEvent* e); bool PickPosition(QMouseEvent* e); ManipulateMode m_ManipulateMode; ezEngineGizmoHandle m_hBox; ezInt32 m_iHeightChange = 0; ezVec2I32 m_vLastMousePos; ezVec3 m_vCurrentPosition; ezVec3 m_vFirstCorner; ezVec3 m_vSecondCorner; ezVec3 m_vUpAxis; ezVec3 m_vLastStartPoint; float m_fBoxHeight = 0.5f; float m_fOriginalBoxHeight = 0.5f; bool m_bDisplayGrid = false; };