SQCSimulator2023/SQCSim-common/transformation.h

37 lines
760 B
C
Raw Normal View History

#ifndef TRANSFORMATION_H__
#define TRANSFORMATION_H__
#include <stack>
2023-09-29 12:04:08 -04:00
#include "define.h"
2023-09-30 14:46:54 -04:00
#include "matrix4.h"
#include "vector3.h"
class Transformation
{
public:
Transformation();
void SetIdentity();
void Push();
void Pop();
void ApplyTranslation(float x, float y, float z);
void ApplyTranslation(const Vector3f& v);
void ApplyRotation(float angle, float x, float y, float z);
void ApplyRotation(float angle, const Vector3f& v);
void ApplyScale(float x, float y, float z);
void ApplyScale(const Vector3f& v);
2023-09-30 14:46:54 -04:00
//void Use() const;
const Matrix4f& GetMatrix() const;
private:
std::stack<Matrix4f> m_stack;
};
#endif // TRANSFORMATION_H__