Polyphase Game Engine
Loading...
Searching...
No Matches
Viewport3D Class Reference

#include <Viewport3d.h>

Public Member Functions

 Viewport3D ()
 
 ~Viewport3D ()
 
void Update (float deltaTime)
 
bool ShouldHandleInput () const
 
bool IsMouseInside () const
 
float GetFocalDistance () const
 
void ToggleTransformMode ()
 

Protected Member Functions

void HandleDefaultControls ()
 
void HandlePilotControls ()
 
void HandleTransformControls ()
 
void HandlePanControls ()
 
void HandleOrbitControls ()
 
glm::vec2 HandleLockedCursor ()
 
void HandleAxisLocking ()
 
glm::vec2 GetTransformDelta () const
 
void SavePreTransforms ()
 
void RestorePreTransforms ()
 
glm::vec3 GetLockedTranslationDelta (glm::vec3 deltaWS) const
 
glm::vec3 GetLockedRotationAxis () const
 
glm::vec3 GetLockedScaleDelta ()
 
bool ShouldTransformInstance () const
 

Protected Attributes

float mFirstPersonMoveSpeed = 10.0f
 
float mFirstPersonRotationSpeed = 0.07f
 
int32_t mPrevMouseX = 0
 
int32_t mPrevMouseY = 0
 
std::vector< glm::mat4 > mPreTransforms
 
float mFocalDistance = sDefaultFocalDistance
 
bool mNeedsMouseRecenter = false
 
bool mTransformLocal = false
 
MeshInstanceData mInstancePreTransform
 

Static Protected Attributes

static constexpr float sDefaultFocalDistance = 10.0f
 

Constructor & Destructor Documentation

◆ Viewport3D()

Viewport3D::Viewport3D ( )

◆ ~Viewport3D()

Viewport3D::~Viewport3D ( )

Member Function Documentation

◆ GetFocalDistance()

float Viewport3D::GetFocalDistance ( ) const

◆ GetLockedRotationAxis()

glm::vec3 Viewport3D::GetLockedRotationAxis ( ) const
protected

◆ GetLockedScaleDelta()

glm::vec3 Viewport3D::GetLockedScaleDelta ( )
protected

◆ GetLockedTranslationDelta()

glm::vec3 Viewport3D::GetLockedTranslationDelta ( glm::vec3  deltaWS) const
protected

◆ GetTransformDelta()

glm::vec2 Viewport3D::GetTransformDelta ( ) const
protected

◆ HandleAxisLocking()

void Viewport3D::HandleAxisLocking ( )
protected

◆ HandleDefaultControls()

void Viewport3D::HandleDefaultControls ( )
protected

◆ HandleLockedCursor()

glm::vec2 Viewport3D::HandleLockedCursor ( )
protected

◆ HandleOrbitControls()

void Viewport3D::HandleOrbitControls ( )
protected

◆ HandlePanControls()

void Viewport3D::HandlePanControls ( )
protected

◆ HandlePilotControls()

void Viewport3D::HandlePilotControls ( )
protected

◆ HandleTransformControls()

void Viewport3D::HandleTransformControls ( )
protected

◆ IsMouseInside()

bool Viewport3D::IsMouseInside ( ) const

◆ RestorePreTransforms()

void Viewport3D::RestorePreTransforms ( )
protected

◆ SavePreTransforms()

void Viewport3D::SavePreTransforms ( )
protected

◆ ShouldHandleInput()

bool Viewport3D::ShouldHandleInput ( ) const

◆ ShouldTransformInstance()

bool Viewport3D::ShouldTransformInstance ( ) const
protected

◆ ToggleTransformMode()

void Viewport3D::ToggleTransformMode ( )

◆ Update()

void Viewport3D::Update ( float  deltaTime)

Member Data Documentation

◆ mFirstPersonMoveSpeed

float Viewport3D::mFirstPersonMoveSpeed = 10.0f
protected

◆ mFirstPersonRotationSpeed

float Viewport3D::mFirstPersonRotationSpeed = 0.07f
protected

◆ mFocalDistance

float Viewport3D::mFocalDistance = sDefaultFocalDistance
protected

◆ mInstancePreTransform

MeshInstanceData Viewport3D::mInstancePreTransform
protected

◆ mNeedsMouseRecenter

bool Viewport3D::mNeedsMouseRecenter = false
protected

◆ mPreTransforms

std::vector<glm::mat4> Viewport3D::mPreTransforms
protected

◆ mPrevMouseX

int32_t Viewport3D::mPrevMouseX = 0
protected

◆ mPrevMouseY

int32_t Viewport3D::mPrevMouseY = 0
protected

◆ mTransformLocal

bool Viewport3D::mTransformLocal = false
protected

◆ sDefaultFocalDistance

constexpr float Viewport3D::sDefaultFocalDistance = 10.0f
staticconstexprprotected

The documentation for this class was generated from the following file: