22 lines
551 B
C++
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); }
|
|
};
|
|
|