From dd14ae1dcfd6c1bd7b6cacc68745a7662f586f6f Mon Sep 17 00:00:00 2001 From: Yoel <s73017@beuth-hochschule.de> Date: Fri, 4 Sep 2020 15:26:21 +0200 Subject: [PATCH] Added tests for 2-dimensional-AABBs --- RayTracer/testing/Testing.cpp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/RayTracer/testing/Testing.cpp b/RayTracer/testing/Testing.cpp index 4efdf56..ddcca37 100644 --- a/RayTracer/testing/Testing.cpp +++ b/RayTracer/testing/Testing.cpp @@ -331,6 +331,18 @@ void axisalignedboundingbox_test() { assert(bb.contains(util::Vec3(10, 15, 20))); assert(bb.contains(util::Vec3(10, 10, 10))); + // 2-dimensional AABB contain test + util::AxisAlignedBoundingBox bb0(util::Vec3(0, 10, 10), + util::Vec3(0, 20, 20)); + assert(!bb0.contains(util::Vec3(10, 6, 13))); + assert(!bb0.contains(util::Vec3(22, 15, 13))); + assert(bb0.contains(util::Vec3(0, 10, 20))); + assert(bb0.contains(util::Vec3(0, 19, 20))); + assert(!bb0.contains(util::Vec3(0, 13, 25))); + assert(bb0.contains(util::Vec3(0, 10, 18))); + assert(!bb0.contains(util::Vec3(10, 15, 20))); + assert(bb0.contains(util::Vec3(0, 10, 10))); + // Infinity contain test util::AxisAlignedBoundingBox infbb; assert(infbb.contains(util::Vec3(1243, 1341, -3151))); @@ -400,6 +412,18 @@ void axisalignedboundingbox_test() { assert(bb.intersects(cam::Ray(util::Vec3(21, 21, 21), util::Vec3(-1, -1, -2), 0, 100, false))); + // 2-dimensional AABB intersect test + util::AxisAlignedBoundingBox bb0(util::Vec3(0, 10, 10), + util::Vec3(0, 20, 20)); + assert(bb0.intersects(cam::Ray(util::Vec3(21, 10, 11), + util::Vec3(-1, 0, 0), 0, 100, false))); + assert(bb0.intersects(cam::Ray(util::Vec3(-1, 10, 9), + util::Vec3(1, 0, 2), 0, 100, false))); + assert(!bb0.intersects(cam::Ray( + util::Vec3(0, 21, 21), util::Vec3(-1, -2, -2), 0, 100, false))); + assert(bb0.intersects(cam::Ray(util::Vec3(-1, 18, 18), + util::Vec3(1, -2, 2), 0, 100, false))); + // Infinity intersection test util::AxisAlignedBoundingBox infbb; assert(infbb.intersects(cam::Ray( -- GitLab