MobileRT  1.0
A multi platform C++ CPU progressive Ray Tracer.
Orthographic.hpp
Go to the documentation of this file.
1 #ifndef COMPONENTS_CAMERAS_ORTHOGRAPHIC_HPP
2 #define COMPONENTS_CAMERAS_ORTHOGRAPHIC_HPP
3 
4 #include "MobileRT/Camera.hpp"
5 
6 namespace Components {
7 
17  class Orthographic final : public ::MobileRT::Camera {
18  private:
19  float sizeH_ {};
20  float sizeV_ {};
21 
22  public:
23  explicit Orthographic() = delete;
24 
25  explicit Orthographic(const ::glm::vec3 &position,
26  const ::glm::vec3 &lookAt, const ::glm::vec3 &up,
27  float sizeH, float sizeV);
28 
29  Orthographic(const Orthographic &orthographic) = default;
30 
31  Orthographic(Orthographic &&orthographic) noexcept = delete;
32 
33  ~Orthographic() final = default;
34 
35  Orthographic &operator=(const Orthographic &orthographic) = delete;
36 
37  Orthographic &operator=(Orthographic &&orthographic) noexcept = delete;
38 
39  ::MobileRT::Ray generateRay(float u, float v,
40  float deviationU,
41  float deviationV) const final;
42 
43  ::MobileRT::AABB getAABB() const final;
44 
45  float getSizeH() const;
46 
47  float getSizeV() const;
48  };
49 }//namespace Components
50 
51 #endif //COMPONENTS_CAMERAS_ORTHOGRAPHIC_HPP
Definition: Orthographic.hpp:6
Orthographic & operator=(const Orthographic &orthographic)=delete
float sizeV_
Definition: Orthographic.hpp:20
::MobileRT::Ray generateRay(float u, float v, float deviationU, float deviationV) const final
Definition: Orthographic.cpp:15
~Orthographic() final=default
float getSizeH() const
Definition: Orthographic.cpp:40
::MobileRT::AABB getAABB() const final
Definition: Orthographic.cpp:25
float getSizeV() const
Definition: Orthographic.cpp:44
Definition: Camera.hpp:16
Definition: AABB.hpp:18
Definition: Ray.hpp:13
Definition: Orthographic.hpp:17
float sizeH_
Definition: Orthographic.hpp:19