18 lines
421 B
C++
18 lines
421 B
C++
#pragma once
|
|
|
|
#include <glm/glm.hpp>
|
|
|
|
class IShape {
|
|
public:
|
|
glm::mat4 transform;
|
|
|
|
virtual ~IShape() {};
|
|
|
|
virtual void init() = 0;
|
|
virtual void draw() const = 0;
|
|
virtual void reset_transform() = 0;
|
|
virtual void translate(const glm::vec3& translation) = 0;
|
|
virtual void rotate(const float rotation_rad, const glm::vec3& axis) = 0;
|
|
virtual void scale(const glm::vec3& scale_amount) = 0;
|
|
};
|