PROTO::KLUDGE  0.1
Quick prototyping library for games using SDL and OpenGL.
Transform.hpp
Go to the documentation of this file.
1 #ifndef TRANSFORM_HPP
2 #define TRANSFORM_HPP
3 
4 #include <glm/glm.hpp>
5 
6 namespace pk
7 {
8 
14 {
15  glm::vec2 d_position;
16  glm::vec2 d_center;
17  float d_angle;
18  float d_scale;
19 };
20 
26 class Transform
27 {
28  public:
29 
34  Transform();
35  virtual ~Transform();
36 
43 
49  const transformData &getTransformData(){ return m_data; };
50 
56  void setCenter(glm::vec2 &point){ m_data.d_center = point; };
57 
63  const glm::vec2 &getCenter(){ return m_data.d_center; };
64 
70  void setAngle(float angle){ m_data.d_angle = angle; };
71 
77  float getAngle(){ return m_data.d_angle; };
78 
84  void setPosition(glm::vec2 position){ m_data.d_position.x = position.x; m_data.d_position.y = position.y; };
85 
91  glm::vec2 getPosition(){ return m_data.d_position; };
92 
93  private:
95 };
96 
97 } // end namespace pk
98 
99 #endif // TRANSFORM_HPP
void setPosition(glm::vec2 position)
Set the position of the transformable in the Window.
Definition: Transform.hpp:84
glm::vec2 getPosition()
Get the current position of the transformable.
Definition: Transform.hpp:91
const transformData & getTransformData()
Get the current transform data for the transformable.
Definition: Transform.hpp:49
Transform used to manipulate the position, scale, center, and rotation of objects.
Definition: Transform.hpp:26
Definition: Game.hpp:7
const glm::vec2 & getCenter()
Get the current center point of the transformable.
Definition: Transform.hpp:63
glm::vec2 d_center
The center position of the transformable object.
Definition: Transform.hpp:16
Transform()
Default constructor.
void setAngle(float angle)
Set the angle for the transformable (in degrees).
Definition: Transform.hpp:70
virtual ~Transform()
void setCenter(glm::vec2 &point)
Set the center point for the transformable object.
Definition: Transform.hpp:56
Data used for transformations.
Definition: Transform.hpp:13
void setTransformData(transformData &t)
Set the transform data for the transformable object.
Definition: Transform.hpp:42
float d_angle
The angle at which the transformable is oriented (in degrees).
Definition: Transform.hpp:17
float getAngle()
Get the current angle of the transformable object (in degrees).
Definition: Transform.hpp:77
float d_scale
The scale at which the transformable is sized.
Definition: Transform.hpp:18
glm::vec2 d_position
The position of the transformable object.
Definition: Transform.hpp:15
transformData m_data
The raw transform data.
Definition: Transform.hpp:91