Plasma Engine  2.0
Loading...
Searching...
No Matches
OrbitCamViewWidget.moc.h
1#pragma once
2
3#include <EditorFramework/DocumentWindow/EngineViewWidget.moc.h>
4#include <Foundation/Basics.h>
5#include <Foundation/Types/UniquePtr.h>
6
9
10class PL_EDITORFRAMEWORK_DLL plQtOrbitCamViewWidget : public plQtEngineViewWidget
11{
12 Q_OBJECT
13public:
14 plQtOrbitCamViewWidget(plQtEngineDocumentWindow* pOwnerWindow, plEngineViewConfig* pViewConfig, bool bPicking = false);
16
17 void ConfigureFixed(const plVec3& vCenterPos, const plVec3& vHalfBoxSize, const plVec3& vCamPosition);
18 void ConfigureRelative(const plVec3& vCenterPos, const plVec3& vHalfBoxSize, const plVec3& vCamDirection, float fCamDistanceScale);
19
20 void SetOrbitVolume(const plVec3& vCenterPos, const plVec3& vHalfBoxSize);
21
22 plOrbitCameraContext* GetOrbitCamera();
23
24 virtual void SyncToEngine() override;
25
26private:
27 bool m_bSetDefaultCamPos = true;
28
29 plUniquePtr<plOrbitCameraContext> m_pOrbitCameraContext;
30 plUniquePtr<plSelectionContext> m_pSelectionContext;
31};
A simple orbit camera. Use LMB to rotate, wheel to zoom, Alt to slow down.
Definition OrbitCameraContext.h:10
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
virtual void SyncToEngine()
Sends the redraw message to the engine.
Definition EngineViewWidget.cpp:96
Definition OrbitCamViewWidget.moc.h:11
Definition SelectionContext.h:12
A Unique ptr manages an object and destroys that object when it goes out of scope....
Definition UniquePtr.h:10
Definition ViewRenderSettings.h:26