From d29ec3dc3a6e65b072a6269baf4f7e36a3938f35 Mon Sep 17 00:00:00 2001 From: Jackson Campolattaro Date: Thu, 20 Aug 2020 14:40:12 -0400 Subject: [PATCH] Implement sphere intersection test --- Octree/test/Octree/test_octree_intersecting.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/Octree/test/Octree/test_octree_intersecting.cpp b/Octree/test/Octree/test_octree_intersecting.cpp index 8f8ef42843b..67cb748ace8 100644 --- a/Octree/test/Octree/test_octree_intersecting.cpp +++ b/Octree/test/Octree/test_octree_intersecting.cpp @@ -61,12 +61,21 @@ int main(void) { // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ { // Set the search point - auto query = Kernel::Sphere_3(Point{1, 1, 1}, 4.0); + auto query = Kernel::Sphere_3(Point{1, 0.5, 1}, 1.0); // Get a list of nodes intersected std::vector nodes{}; octree.intersecting_nodes(query, std::back_inserter(nodes)); + // Print out the results + for (auto node : nodes) + std::cout << *node << std::endl; + + assert(4 == nodes.size()); + assert(octree[Octree::Node::RIGHT_TOP_BACK] == *nodes[0]); + assert(octree[Octree::Node::RIGHT_BOTTOM_FRONT] == *nodes[1]); + assert(octree[Octree::Node::LEFT_TOP_FRONT] == *nodes[2]); + assert(octree[Octree::Node::RIGHT_TOP_FRONT] == *nodes[3]); } // Intersection with a ray @@ -81,8 +90,5 @@ int main(void) { } - // Print out the tree - std::cout << octree; - return EXIT_SUCCESS; }