26 lines
680 B
C++
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
|