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;
19
20protected:
21
22 static constexpr float sDefaultFocalDistance = 10.0f;
23
29
30 glm::vec2 HandleLockedCursor();
32
33 glm::vec2 GetTransformDelta() const;
36
37 glm::vec3 GetLockedTranslationDelta(glm::vec3 deltaWS) const;
38 glm::vec3 GetLockedRotationAxis() const;
41
42 float mFirstPersonMoveSpeed = 10.0f;
44
45 // Transform Control vars
46 int32_t mPrevMouseX = 0;
47 int32_t mPrevMouseY = 0;
48 std::vector<glm::mat4> mPreTransforms;
49
51 bool mNeedsMouseRecenter = false;
52 bool mTransformLocal = false;
53
55};
Definition Viewport3d.h:7
void HandleTransformControls()
void RestorePreTransforms()
static constexpr float sDefaultFocalDistance
Definition Viewport3d.h:22
void HandleAxisLocking()
MeshInstanceData mInstancePreTransform
Definition Viewport3d.h:54
void Update(float deltaTime)
glm::vec2 GetTransformDelta() const
glm::vec3 GetLockedScaleDelta()
bool mNeedsMouseRecenter
Definition Viewport3d.h:51
float mFirstPersonRotationSpeed
Definition Viewport3d.h:43
int32_t mPrevMouseX
Definition Viewport3d.h:46
float GetFocalDistance() const
glm::vec2 HandleLockedCursor()
std::vector< glm::mat4 > mPreTransforms
Definition Viewport3d.h:48
void HandleDefaultControls()
void ToggleTransformMode()
void SavePreTransforms()
bool ShouldHandleInput() const
int32_t mPrevMouseY
Definition Viewport3d.h:47
glm::vec3 GetLockedTranslationDelta(glm::vec3 deltaWS) const
glm::vec3 GetLockedRotationAxis() const
float mFocalDistance
Definition Viewport3d.h:50
void HandlePanControls()
bool mTransformLocal
Definition Viewport3d.h:52
float mFirstPersonMoveSpeed
Definition Viewport3d.h:42
bool IsMouseInside() const
void HandleOrbitControls()
void HandlePilotControls()
bool ShouldTransformInstance() const
Definition InstancedMesh3d.h:6