#ifndef TRANSFORMATION_H__ #define TRANSFORMATION_H__ #include #include "../SQCSim-common/matrix4.h" #include "../SQCSim-common/vector3.h" #include "define.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); void Use() const; const Matrix4f& GetMatrix() const; private: std::stack m_stack; }; #endif // TRANSFORMATION_H__