Saxum/extern/acgl/include/ACGL/Scene/FixedCamera.hh
2014-10-20 17:31:26 +02:00

44 lines
1.2 KiB
C++

#pragma once
#include "CameraBase.hh"
namespace ACGL{
namespace Scene{
/**
* @brief A fixed camera
*/
class FixedCamera : public CameraBase
{
private:
glm::vec3 mPosition;
glm::mat4 mViewMatrix;
glm::mat4 mProjectionMatrix;
glm::uvec2 mViewportSize;
public:
/// CAUTION: default ctor with zero values
FixedCamera();
FixedCamera(const glm::vec3 &_pos, const glm::mat4 &_view, const glm::mat4 &_proj, const glm::uvec2 &_viewport);
// Getter, Setter for Camera Position
virtual glm::vec3 getPosition() const { return mPosition; }
virtual void setPosition(glm::vec3 const& _val) { mPosition = _val; }
// Getter, Setter for Camera ViewMatrix
virtual glm::mat4 getViewMatrix() const { return mViewMatrix; }
virtual void setViewMatrix(glm::mat4 const& _val) { mViewMatrix = _val; }
// Getter, Setter for Camera ProjectionMatrix
virtual glm::mat4 getProjectionMatrix() const { return mProjectionMatrix; }
virtual void setProjectionMatrix(glm::mat4 const& _val) { mProjectionMatrix = _val; }
// Getter, Setter for Camera ViewportSize
virtual glm::uvec2 getViewportSize() const { return mViewportSize; }
virtual void setViewportSize(glm::uvec2 const& _val) { mViewportSize = _val; }
};
}
}