diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2024-06-07 23:30:42 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2024-06-07 23:30:42 +0200 |
commit | 19affb60d1d3d21052da6ffea74f929508d6cad1 (patch) | |
tree | 576ada5fb99e4a6510d8f4fe035f4a8c935e63bf /tests | |
parent | a139cd611aa6b5ea8ccc8d222591fb5d84c905f5 (diff) | |
parent | 9b191f669c40d82bfeb4182a088b92cc94213dc0 (diff) | |
download | redot-engine-19affb60d1d3d21052da6ffea74f929508d6cad1.tar.gz |
Merge pull request #92850 from permelin/fix-navigationserver3d-get_closest_point_to_segment-use_collision
Fix `NavigationServer3D.get_closest_point_to_segment()` with `use_collision`
Diffstat (limited to 'tests')
-rw-r--r-- | tests/servers/test_navigation_server_3d.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/tests/servers/test_navigation_server_3d.h b/tests/servers/test_navigation_server_3d.h index 8778ea86a6..cf6b89c330 100644 --- a/tests/servers/test_navigation_server_3d.h +++ b/tests/servers/test_navigation_server_3d.h @@ -697,12 +697,16 @@ TEST_SUITE("[Navigation]") { CHECK_NE(navigation_server->map_get_closest_point(map, Vector3(0, 0, 0)), Vector3(0, 0, 0)); CHECK_NE(navigation_server->map_get_closest_point_normal(map, Vector3(0, 0, 0)), Vector3()); CHECK(navigation_server->map_get_closest_point_owner(map, Vector3(0, 0, 0)).is_valid()); - // TODO: Test map_get_closest_point_to_segment() with p_use_collision=true as well. CHECK_NE(navigation_server->map_get_closest_point_to_segment(map, Vector3(0, 0, 0), Vector3(1, 1, 1), false), Vector3()); + CHECK_NE(navigation_server->map_get_closest_point_to_segment(map, Vector3(0, 0, 0), Vector3(1, 1, 1), true), Vector3()); CHECK_NE(navigation_server->map_get_path(map, Vector3(0, 0, 0), Vector3(10, 0, 10), true).size(), 0); CHECK_NE(navigation_server->map_get_path(map, Vector3(0, 0, 0), Vector3(10, 0, 10), false).size(), 0); } + SUBCASE("'map_get_closest_point_to_segment' with 'use_collision' should return default if segment doesn't intersect map") { + CHECK_EQ(navigation_server->map_get_closest_point_to_segment(map, Vector3(1, 2, 1), Vector3(1, 1, 1), true), Vector3()); + } + SUBCASE("Elaborate query with 'CORRIDORFUNNEL' post-processing should yield non-empty result") { Ref<NavigationPathQueryParameters3D> query_parameters = memnew(NavigationPathQueryParameters3D); query_parameters->set_map(map); |