#ifndef TRANSFORM_H_
#define TRANSFORM_H_

#include <glm/glm.hpp>

struct Transform {
    glm::vec3 translation;
    glm::vec3 rotation;
    glm::vec3 scale;
};

namespace TransformControls {
    void SetPosition(Transform& transform, const glm::vec3& newPosition);
    void SetRotation(Transform& transform, const glm::vec3& newRotation);
    void SetScale(Transform& transform, const glm::vec3& newScale);

    void Translate(Transform& transform, const glm::vec3& translationDelta);
    void Rotate(Transform& transform, const glm::vec3& rotationDelta);
    void Scale(Transform& transform, const glm::vec3& scaleDelta);
}

#endif // TRANSFORM_H_
