MobileRT  1.0
A multi platform C++ CPU progressive Ray Tracer.
PointLight.hpp
Go to the documentation of this file.
1 #ifndef COMPONENTS_LIGHTS_POINTLIGHT_HPP
2 #define COMPONENTS_LIGHTS_POINTLIGHT_HPP
3 
4 #include "MobileRT/Light.hpp"
5 
6 namespace Components {
7 
11  class PointLight final : public ::MobileRT::Light {
12  private:
13  ::glm::vec3 position_ {};
14 
15  public:
16  explicit PointLight() = delete;
17 
18  explicit PointLight(const ::MobileRT::Material &radiance, const ::glm::vec3 &position);
19 
20  PointLight(const PointLight &pointLight) = delete;
21 
22  PointLight(PointLight &&pointLight) noexcept = delete;
23 
24  ~PointLight() final = default;
25 
26  PointLight &operator=(const PointLight &pointLight) = delete;
27 
28  PointLight &operator=(PointLight &&pointLight) noexcept = delete;
29 
30  ::glm::vec3 getPosition() final;
31 
32  void resetSampling() final;
33 
35  };
36 }//namespace Components
37 
38 #endif //COMPONENTS_LIGHTS_POINTLIGHT_HPP
Definition: Orthographic.hpp:6
::glm::vec3 getPosition() final
Definition: PointLight.cpp:12
::glm::vec3 position_
Definition: PointLight.hpp:13
Definition: Light.hpp:14
Definition: Intersection.hpp:14
~PointLight() final=default
void resetSampling() final
Definition: PointLight.cpp:16
::MobileRT::Intersection intersect(::MobileRT::Intersection &&intersection) final
Definition: PointLight.cpp:19
PointLight & operator=(const PointLight &pointLight)=delete
Definition: PointLight.hpp:11