Files
TSE/TSE_Math/src/TransformationStack.hpp

26 lines
680 B
C++

#pragma once
#include <vector>
#include "Matrix4x4.hpp"
namespace TSE
{
class TransformationStack
{
private:
std::vector<Matrix4x4> stack;
public:
/// @brief generates an empty transformation stack, based on an identity matrix
TransformationStack();
/// @brief gets the current value of the stack
/// @return the current value
const Matrix4x4& Top() const;
/// @brief pusches a new value on to the stack
/// @param matrix the value to be pusched
void Push(const Matrix4x4& matrix);
/// @brief pops the last value off the stack
void Pop();
};
} // namespace TSE