Elevate Engine 1
Loading...
Searching...
No Matches
Elevate::EditorCamera Class Reference

#include <EditorCamera.h>

Inheritance diagram for Elevate::EditorCamera:
Elevate::Camera Elevate::Component EEObject

Public Member Functions

 EditorCamera (float fov=60.0f)
 
void Init () override
 
void Update () override
 
void OnNotify (Event &event) override
 
- Public Member Functions inherited from Elevate::Camera
 BEGIN_COMPONENT (Camera, EditorIcon(std::string(Editor::Icons::COMPONENT_ICON_CAMERA))) Camera(float fov
 
 Camera (float fov, float aspectRatio, bool overrideCurrent=true)
 
const void UpdateAspectRatio (float aspectRatio)
 
const glm::mat4 & GetProjectionMatrix () const
 
glm::mat4 GenViewMatrix () const
 
const glm::vec3 & GetFrontVec () const
 
const glm::vec3 & GetRightVec () const
 
const glm::vec3 & GetUpVec () const
 
const float GetFOV () const
 
void SetFOV (float fov)
 
const float GetNear () const
 
void SetNear (float nearPlane)
 
const float GetFar () const
 
void SetFar (float farPlane)
 
const float GetAspectRatio () const
 
void UpdateCameraVectors ()
 
glm::mat4 GenViewProjectionMatrix () const
 
void Destroy () override
 
void OnSetRotation () override
 
void RenderWhenSelected () override
 
- Public Member Functions inherited from Elevate::Component
 Component ()=default
 
virtual ~Component ()=default
 
virtual ComponentClone ()=0
 
virtual void CopyFrom (Component *other)=0
 
virtual GameObjectComponentFactory GetFactory () const =0
 
virtual GameObjectComponentDestructor GetDestructor () const =0
 
virtual const void * GetEditorIconHandle () const
 
virtual std::type_index GetTypeIndex () const =0
 
void SetActive (bool newState)
 
bool IsActive ()
 
virtual ComponentLayout GetLayout () const
 
virtual bool RemoveFromGameObject ()
 
virtual std::string GetName () const
 
- Public Member Functions inherited from EEObject
virtual EECategory GetCategory () const
 

Protected Member Functions

void ClampRotation ()
 
- Protected Member Functions inherited from Elevate::Component
virtual void Render ()
 
virtual void RenderInEditor ()
 
virtual void OnSetPosition ()
 
virtual void OnSetScale ()
 

Additional Inherited Members

- Public Attributes inherited from Elevate::Camera
bool overrideCurrent = true)
 
- Public Attributes inherited from Elevate::Component
std::function< bool()> RemoveFromGOFunc
 
GameObjectgameObject = nullptr
 
- Protected Attributes inherited from Elevate::Component
bool m_IsActive = true
 
- Protected Attributes inherited from EEObject
EECategory m_category
 

Detailed Description

Definition at line 8 of file EditorCamera.h.

Constructor & Destructor Documentation

◆ EditorCamera()

Elevate::EditorCamera::EditorCamera ( float  fov = 60.0f)

Definition at line 9 of file EditorCamera.cpp.

10 : Camera(fov, false) { }
Camera(float fov, float aspectRatio, bool overrideCurrent=true)
Definition Camera.cpp:13

Member Function Documentation

◆ ClampRotation()

void Elevate::EditorCamera::ClampRotation ( )
protected

Definition at line 74 of file EditorCamera.cpp.

75 {
76 if (gameObject->GetRotation().x > 89.0f)
77 gameObject->GetRotation().x = 89.0f;
78 if (gameObject->GetRotation().x < -89.0f)
79 gameObject->GetRotation().x = -89.0f;
80 }
GameObject * gameObject
Definition Component.h:73

◆ Init()

void Elevate::EditorCamera::Init ( )
overridevirtual

Reimplemented from Elevate::Camera.

Definition at line 68 of file EditorCamera.cpp.

69 {
70 gameObject->GetRotation().y = -90.0f;
72 }
void Init() override
Definition Camera.cpp:31

◆ OnNotify()

void Elevate::EditorCamera::OnNotify ( Event event)
overridevirtual

Reimplemented from Elevate::Component.

Definition at line 51 of file EditorCamera.cpp.

52 {
53 if (event.IsInCategory(EventCategoryMouseButton))
54 {
56 {
57 m_followCursor = true;
58 m_lastX = Input::GetMouseX();
59 m_lastY = Input::GetMouseY();
60 }
62 {
63 m_followCursor = false;
64 }
65 }
66 }
#define EE_MOUSE_BUTTON_RIGHT
static bool IsMouseButtonUp(int button)
Definition Input.h:41
static bool IsMouseButtonDown(int button)
Definition Input.h:39
static float GetMouseX()
Definition Input.h:44
static float GetMouseY()
Definition Input.h:45
@ EventCategoryMouseButton
Definition Event.h:27

◆ Update()

void Elevate::EditorCamera::Update ( )
overridevirtual

Reimplemented from Elevate::Component.

Definition at line 12 of file EditorCamera.cpp.

13 {
14 float baseCamSpeed = 0.5f;
16 {
17 baseCamSpeed = 2.5f;
18 }
19 float cameraSpeed = baseCamSpeed * Time::GetDeltaTime();
20
21 glm::vec3 offset = { 0.0f, 0.0f, 0.0f };
23 offset += cameraSpeed * GetFrontVec();
25 offset -= cameraSpeed * GetFrontVec();
27 offset -= cameraSpeed * GetRightVec();
29 offset += cameraSpeed * GetRightVec();
31
32 if (m_followCursor)
33 {
34 float xpos = Input::GetMouseX();
35 float ypos = Input::GetMouseY();
36
37 float xoffset = (xpos - m_lastX) * m_sensitivity;
38 float yoffset = (m_lastY - ypos) * m_sensitivity;
39
40 m_lastX = xpos;
41 m_lastY = ypos;
42
43 gameObject->GetRotation().y += xoffset;
44 gameObject->GetRotation().x += yoffset;
45
48 }
49 }
#define EE_KEY_D
Definition KeyCodes.h:25
#define EE_KEY_A
Definition KeyCodes.h:22
#define EE_KEY_S
Definition KeyCodes.h:40
#define EE_KEY_W
Definition KeyCodes.h:44
#define EE_KEY_LEFT_SHIFT
Definition KeyCodes.h:117
void UpdateCameraVectors()
Definition Camera.cpp:111
const glm::vec3 & GetRightVec() const
Definition Camera.h:29
const glm::vec3 & GetFrontVec() const
Definition Camera.h:28
void SetPosition(glm::vec3 pos)
static bool IsKeyPressed(int keycode)
Definition Input.h:36
static float GetDeltaTime()
Definition Time.h:12

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