diff --git a/RayTracer/tools/AxisAlignedBoundingBox.cpp b/RayTracer/tools/AxisAlignedBoundingBox.cpp index 1ef77b2af8c09d53e7200ba03dd9981e4700bc27..97a387063e29aabec89aa39e646a1fb55b787853 100644 --- a/RayTracer/tools/AxisAlignedBoundingBox.cpp +++ b/RayTracer/tools/AxisAlignedBoundingBox.cpp @@ -127,6 +127,9 @@ bool AxisAlignedBoundingBox::partiallyContains( if (contains(v)) return true; return false; } +float AxisAlignedBoundingBox::size() const { + return (maxBound() - minBound()).length(); +} Vec3 AxisAlignedBoundingBox::center() const { return (max + min) / 2; } diff --git a/RayTracer/tools/AxisAlignedBoundingBox.h b/RayTracer/tools/AxisAlignedBoundingBox.h index bc7da01e5249cbe3ba106f199d25bba7c790bcc4..7db58b50c7aaaa771bf2ec68559506b778cf7e85 100644 --- a/RayTracer/tools/AxisAlignedBoundingBox.h +++ b/RayTracer/tools/AxisAlignedBoundingBox.h @@ -20,6 +20,7 @@ class AxisAlignedBoundingBox { bool contains(const Vec3& v) const; bool contains(const AxisAlignedBoundingBox& bb) const; bool partiallyContains(const AxisAlignedBoundingBox& bb) const; + float size() const; Vec3 center() const; Vec3 minBound() const; Vec3 maxBound() const;