2025-01-19 14:17:36 +01:00

22 lines
551 B
C++

#pragma once
#include <glm/glm.hpp>
class Plane
{
private:
glm::mat4 _transform;
public:
Plane() : _transform(1.0f) { }
Plane(const glm::mat4& transform, int axis, int direction);
const glm::mat4& Transform() { return _transform; }
glm::vec4 Origin() { return _transform * glm::vec4(0.0f, 0.0f, 0.0f, 1.0f); }
glm::vec3 Normal() { return _transform * glm::vec4(0.0f, 0.0f, 1.0f, 0.0f); }
glm::vec3 U() { return _transform * glm::vec4(1.0f, 0.0f, 0.0f, 0.0f); }
glm::vec3 V() { return _transform * glm::vec4(0.0f, 1.0f, 0.0f, 0.0f); }
};