4#include <glm/gtc/matrix_transform.hpp>
5#include <glm/gtc/type_ptr.hpp>
14 IMatrix(
const glm::mat4& m_ = glm::mat4(0.0f))
31 m.m = glm::translate(m.m, glm::vec3(
x,
y,
z));
36 std::string output =
"Translation: ";
37 output +=
"(" + std::to_string(
x) +
";" + std::to_string(
y) +
";" + std::to_string(
z) +
")";
42 Rotation::Rotation(
const float axis_x_,
const float axis_y_,
const float axis_z_,
const float deg_angle_)
57 std::string output =
"Rotation: ";
58 output +=
"(" + std::to_string(
axis_x) +
";" + std::to_string(
axis_y) +
";" + std::to_string(
axis_z) +
")";
59 output +=
" " + std::to_string(
deg_angle);
63 Scale::Scale(
const float axis_x_,
const float axis_y_,
const float axis_z_)
77 std::string output =
"Scale: ";
78 output +=
"(" + std::to_string(
axis_x) +
";" + std::to_string(
axis_y) +
";" + std::to_string(
axis_z) +
")";
virtual void ApplyTransformation(IMatrix &m) const override
virtual const std::string Print() const override
Rotation(const float axis_x_=0.0f, const float axis_y_=0.0f, const float axis_z_=0.0f, const float deg_angle_=0.0f)
Scale(const float axis_x_=1.0f, const float axis_y_=1.0f, const float axis_z_=1.0f)
virtual void ApplyTransformation(IMatrix &m) const override
virtual const std::string Print() const override
virtual void ApplyTransformation(IMatrix &m) const override
Translation(const float x_=0.0f, const float y_=0.0f, const float z_=0.0f)
virtual const std::string Print() const override
IMatrix(const glm::mat4 &m_=glm::mat4(0.0f))