OctTree differentiates between static/dynamic objects now. Added a general BoxesInSameRegion method.

This commit is contained in:
William Moberg
2015-12-09 13:27:00 +01:00
parent a7fb77d998
commit bad42fae1c
3 changed files with 92 additions and 27 deletions
+6 -4
View File
@@ -92,12 +92,14 @@ BOOST_AUTO_TEST_CASE(octTest)
glm::vec3 mini = glm::vec3(-1, -1, -1);
glm::vec3 maxi = glm::vec3(1, 1, 1);
OctTree tree(AABB(mini, maxi), 2);
tree.AddBox(AABB(mini, -0.9f*maxi));
tree.AddDynamicObject(AABB(mini, -0.9f*maxi));
OctTree::Output data;
glm::vec3 origin = 3.0f * mini;
BOOST_CHECK(tree.RayCollides({origin , glm::normalize(mini - origin) }, data));
tree.ClearBoxes();
BOOST_CHECK(!tree.RayCollides({ origin , glm::normalize(mini - origin) }, data));
bool rayIntersected = tree.RayCollides({ origin , glm::normalize(mini - origin) }, data);
BOOST_CHECK(rayIntersected);
tree.ClearDynamicObjects();
rayIntersected = tree.RayCollides({ origin , glm::normalize(mini - origin) }, data);
BOOST_CHECK(!rayIntersected);
}
BOOST_AUTO_TEST_SUITE_END()