aboutsummaryrefslogtreecommitdiffstats
path: root/include/aabb.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/aabb.hpp')
-rw-r--r--include/aabb.hpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/include/aabb.hpp b/include/aabb.hpp
index 3a4e680..9bc69d1 100644
--- a/include/aabb.hpp
+++ b/include/aabb.hpp
@@ -2,15 +2,20 @@
#define __AABB_HPP_
#include "vec3.hpp"
+#include "triangle.hpp"
#include <cmath>
#include <limits.h>
class aabb {
public:
aabb() = default;
- aabb(vec3 min_point, vec3 max_point): minimum(min_point), maximum(max_point) {}
- aabb(vec3 position, float radius): minimum(position - vec3(radius)), maximum(position + vec3(radius)) {}
- aabb(point3 &v1, point3 &v2, point3 &v3) {
+ aabb(vec3 &min_point, vec3 &max_point): minimum(min_point), maximum(max_point) {}
+ aabb(vec3 &position, float radius): minimum(position - vec3(radius)), maximum(position + vec3(radius)) {}
+ aabb(triangle &tri) {
+ auto &v1 = tri.v1.position;
+ auto &v2 = tri.v2.position;
+ auto &v3 = tri.v3.position;
+
minimum.x = fmin(fmin(v1.x, v2.x), v3.x);
minimum.y = fmin(fmin(v1.y, v2.y), v3.y);
minimum.z = fmin(fmin(v1.z, v2.z), v3.z);