X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmodel%2Fgeometry.hpp;fp=src%2Fmodel%2Fgeometry.hpp;h=f9f87c4f9d14462f31af92b16247e5a6aad584e9;hb=f417749fb09718cde2faad77e8430cf175c68374;hp=f1b3762d2905ff650ae44c435bd2b4cfdf1cfbaa;hpb=82ec71079e4763f2b2d66c0c210e37df40c89034;p=blank.git diff --git a/src/model/geometry.hpp b/src/model/geometry.hpp index f1b3762..f9f87c4 100644 --- a/src/model/geometry.hpp +++ b/src/model/geometry.hpp @@ -25,6 +25,19 @@ constexpr float rad2deg(float r) { } +template +T manhattan_distance(const glm::tvec3 &a, const glm::tvec3 &b) { + glm::tvec3 diff(abs(a - b)); + return diff.x + diff.y + diff.z; +} + +template +T manhattan_radius(const glm::tvec3 &v) { + glm::tvec3 a(abs(v)); + return std::max(a.x, std::max(a.y, a.z)); +} + + struct AABB { glm::vec3 min; glm::vec3 max;