#ifndef BLUECORE_BOUNDING_CUBE_H #define BLUECORE_BOUNDING_CUBE_H #include "Math/Transformation.h" namespace BlueCore { class AABB { public: Vector3 Min; Vector3 Max; bool overlaps (const AABB &aabb) { bool overlap = true; overlap = (Min.x > aabb.Max.x || Max.x < aabb.Min.x) ? false : overlap; overlap = (Min.y > aabb.Max.y || Max.y < aabb.Min.y) ? false : overlap; overlap = (Min.z > aabb.Max.z || Max.z < aabb.Min.z) ? false : overlap; return overlap; } AABB transformed (const Transformation& transformation) { AABB aabb; /* Vector3 new_max = transformation.transform (Max); Vector3 new_min = transformation.transform (Min); */ return aabb; } }; } #endif