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#include "TransformSnap.h"
6
8{
9public:
10
13
14 void Update(float deltaTime);
15 bool ShouldHandleInput() const;
16 bool IsMouseInside() const;
17
18 float GetFocalDistance() const;
19 void SetFocalDistance(float distance);
21
22 // Bookmark hotkey pass — checks View_SaveBookmark* / View_GotoBookmark*
23 // and dispatches to EditorState. Runs from HandleDefaultControls so it
24 // inherits the viewport-focus / text-field / popup gating; exposed so
25 // tests / addons can also drive it deterministically.
27
28protected:
29
30 static constexpr float sDefaultFocalDistance = 10.0f;
31
37
38 glm::vec2 HandleLockedCursor();
40
41 glm::vec2 GetTransformDelta() const;
44
45 glm::vec3 GetLockedTranslationDelta(glm::vec3 deltaWS) const;
46 glm::vec3 GetLockedRotationAxis() const;
49
50 float mFirstPersonMoveSpeed = 10.0f;
52
53 // Transform Control vars
54 int32_t mPrevMouseX = 0;
55 int32_t mPrevMouseY = 0;
56 std::vector<glm::mat4> mPreTransforms;
57 TransformSnapAccum mSnapAccum;
58
60 bool mNeedsMouseRecenter = false;
61 bool mTransformLocal = false;
62
64};
Definition Viewport3d.h:8
void HandleTransformControls()
void HandleCameraBookmarkHotkeys()
void RestorePreTransforms()
static constexpr float sDefaultFocalDistance
Definition Viewport3d.h:30
void HandleAxisLocking()
MeshInstanceData mInstancePreTransform
Definition Viewport3d.h:63
void Update(float deltaTime)
glm::vec2 GetTransformDelta() const
glm::vec3 GetLockedScaleDelta()
bool mNeedsMouseRecenter
Definition Viewport3d.h:60
float mFirstPersonRotationSpeed
Definition Viewport3d.h:51
int32_t mPrevMouseX
Definition Viewport3d.h:54
float GetFocalDistance() const
glm::vec2 HandleLockedCursor()
void SetFocalDistance(float distance)
std::vector< glm::mat4 > mPreTransforms
Definition Viewport3d.h:56
void HandleDefaultControls()
void ToggleTransformMode()
TransformSnapAccum mSnapAccum
Definition Viewport3d.h:57
void SavePreTransforms()
bool ShouldHandleInput() const
int32_t mPrevMouseY
Definition Viewport3d.h:55
glm::vec3 GetLockedTranslationDelta(glm::vec3 deltaWS) const
glm::vec3 GetLockedRotationAxis() const
float mFocalDistance
Definition Viewport3d.h:59
void HandlePanControls()
bool mTransformLocal
Definition Viewport3d.h:61
float mFirstPersonMoveSpeed
Definition Viewport3d.h:50
bool IsMouseInside() const
void HandleOrbitControls()
void HandlePilotControls()
bool ShouldTransformInstance() const
Definition InstancedMesh3d.h:6