summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/ray.cpp6
-rw-r--r--lib/ray.hpp2
2 files changed, 8 insertions, 0 deletions
diff --git a/lib/ray.cpp b/lib/ray.cpp
index acbb807..f9e3311 100644
--- a/lib/ray.cpp
+++ b/lib/ray.cpp
@@ -1,6 +1,12 @@
#include "ray.hpp"
#include <algorithm>
+Ray
+Ray::fromPoints(glm::vec3 start, glm::vec3 p)
+{
+ return {start, glm::normalize(p - start)};
+}
+
float
Ray::distanceToLine(const glm::vec3 & p1, const glm::vec3 & e1) const
{
diff --git a/lib/ray.hpp b/lib/ray.hpp
index 8bef1c8..9bf47af 100644
--- a/lib/ray.hpp
+++ b/lib/ray.hpp
@@ -7,6 +7,8 @@ class Ray {
public:
Ray(glm::vec3 start, glm::vec3 direction) : start {start}, direction {direction} { }
+ static Ray fromPoints(glm::vec3, glm::vec3);
+
glm::vec3 start;
glm::vec3 direction;