Molecule Viewer
 All Classes Functions Variables Enumerations Pages
Light.hpp
1 #ifndef _LIGHT_HPP_
2 #define _LIGHT_HPP_
3 
4 #include "SceneObject.hpp"
5 
6 
8 class Light : public SceneObject {
9 
10 
11 public:
12 
14  Light();
15 
17  virtual ~Light();
18 
20  const glm::vec3 GetPosition() const;
21 
23  const glm::mat4 * GetProjectionMatrix() const;
24 
26  void Reset(float nearPlane, float farPlane);
27 
29  void RotateXY(float angle_x, float angle_y, float dist);
30 
31 
32 
33 private:
34 
36  glm::vec3 * _position;
38  glm::mat4 * _projectionMatrix;
39 
41 
46  void Transform(glm::mat4 transformMatrix, glm::mat4 inverseTransformMatrix);
47 
48 
50 
55  void Transform_world(glm::mat4 transformMatrix, glm::mat4 inverseTransformMatrix);
56 
58  float _rotation_x;
59 
61  float _rotation_y;
62 
63 
64 };
65 
66 #endif //#ifndef _LIGHT_HPP_