ICamera.h
Go to the documentation of this file.
1 
2 #pragma once
3 
4 #include <ionMath.h>
5 
6 
7 namespace ion
8 {
9  namespace Scene
10  {
11 
12  class ICamera
13  {
14 
15  public:
16 
17  virtual glm::mat4 GetViewMatrix() const = 0;
18  virtual glm::mat4 GetProjectionMatrix() const = 0;
19  virtual vec3f const & GetPosition() const = 0;
20  virtual vec3f const & GetUpVector() const = 0;
21 
22  virtual void SetPosition(vec3f const & position) = 0;
23  virtual void SetUpVector(vec3f const & UpVector) = 0;
24  virtual void SetLookDirection(vec3f const & lookDirection) = 0;
25  virtual void SetLookAtTarget(vec3f const & lookAtTarget) = 0;
26 
27  virtual void Update() = 0;
28 
29  };
30 
31  }
32 }
virtual void Update()=0
virtual void SetLookAtTarget(vec3f const &lookAtTarget)=0
virtual void SetLookDirection(vec3f const &lookDirection)=0
Definition: CCatmullRomAdvancedSplineInterpolator.h:7
virtual vec3f const & GetPosition() const =0
virtual glm::mat4 GetProjectionMatrix() const =0
virtual glm::mat4 GetViewMatrix() const =0
virtual vec3f const & GetUpVector() const =0
virtual void SetPosition(vec3f const &position)=0
Definition: ICamera.h:12
virtual void SetUpVector(vec3f const &UpVector)=0