Molecule Viewer
 All Classes Functions Variables Enumerations Pages
SceneObject.hpp
1 #ifndef _SCENE_OBJECT_HPP_
2 #define _SCENE_OBJECT_HPP_
3 
4 #include "common.hpp"
5 
6 
8 
12 class SceneObject {
13 
14 public:
15 
17  SceneObject();
18 
20  virtual ~SceneObject();
21 
23  glm::mat4 GetModelMatrix() const;
24 
26  glm::mat4 GetInverseModelMatrix() const;
27 
29  virtual void Reset();
30 
32  virtual void Translate(float x, float y, float z);
33 
35  virtual void RotateX_world(float angle);
36 
38  virtual void RotateY_world(float angle);
39 
40 
42  virtual void RotateX(float angle);
43 
45  virtual void RotateY(float angle);
46 
47 
48  protected:
49 
51 
54  virtual void Transform(glm::mat4 transformMatrix, glm::mat4 inverseTransformMatrix);
55 
57 
60  virtual void Transform_world(glm::mat4 transformMatrix, glm::mat4 inverseTransformMatrix);
61 
62 
64  glm::mat4 * _modelMatrix;
65 
67  glm::mat4 * _inverseModelMatrix;
68 
69 
70 };
71 
72 
73 
74 #endif //#ifndef _SCENEOBJECT_HPP_