Polyphase Game Engine
Loading...
Searching...
No Matches
Viewport3d.h
Go to the documentation of this file.
1#pragma once
2
3#include "EditorState.h"
5
7{
8public:
9
12
13 void Update(float deltaTime);
14 bool ShouldHandleInput() const;
15 bool IsMouseInside() const;
16
17 float GetFocalDistance() const;
18 void SetFocalDistance(float distance);
20
21 // Bookmark hotkey pass — checks View_SaveBookmark* / View_GotoBookmark*
22 // and dispatches to EditorState. Runs from HandleDefaultControls so it
23 // inherits the viewport-focus / text-field / popup gating; exposed so
24 // tests / addons can also drive it deterministically.
26
27protected:
28
29 static constexpr float sDefaultFocalDistance = 10.0f;
30
36
37 glm::vec2 HandleLockedCursor();
39
40 glm::vec2 GetTransformDelta() const;
43
44 glm::vec3 GetLockedTranslationDelta(glm::vec3 deltaWS) const;
45 glm::vec3 GetLockedRotationAxis() const;
48
49 float mFirstPersonMoveSpeed = 10.0f;
51
52 // Transform Control vars
53 int32_t mPrevMouseX = 0;
54 int32_t mPrevMouseY = 0;
55 std::vector<glm::mat4> mPreTransforms;
56
58 bool mNeedsMouseRecenter = false;
59 bool mTransformLocal = false;
60
62};
Definition Viewport3d.h:7
void HandleTransformControls()
void HandleCameraBookmarkHotkeys()
void RestorePreTransforms()
static constexpr float sDefaultFocalDistance
Definition Viewport3d.h:29
void HandleAxisLocking()
MeshInstanceData mInstancePreTransform
Definition Viewport3d.h:61
void Update(float deltaTime)
glm::vec2 GetTransformDelta() const
glm::vec3 GetLockedScaleDelta()
bool mNeedsMouseRecenter
Definition Viewport3d.h:58
float mFirstPersonRotationSpeed
Definition Viewport3d.h:50
int32_t mPrevMouseX
Definition Viewport3d.h:53
float GetFocalDistance() const
glm::vec2 HandleLockedCursor()
void SetFocalDistance(float distance)
std::vector< glm::mat4 > mPreTransforms
Definition Viewport3d.h:55
void HandleDefaultControls()
void ToggleTransformMode()
void SavePreTransforms()
bool ShouldHandleInput() const
int32_t mPrevMouseY
Definition Viewport3d.h:54
glm::vec3 GetLockedTranslationDelta(glm::vec3 deltaWS) const
glm::vec3 GetLockedRotationAxis() const
float mFocalDistance
Definition Viewport3d.h:57
void HandlePanControls()
bool mTransformLocal
Definition Viewport3d.h:59
float mFirstPersonMoveSpeed
Definition Viewport3d.h:49
bool IsMouseInside() const
void HandleOrbitControls()
void HandlePilotControls()
bool ShouldTransformInstance() const
Definition InstancedMesh3d.h:6