diff options
author | smix8 <52464204+smix8@users.noreply.github.com> | 2024-08-25 22:59:13 +0200 |
---|---|---|
committer | smix8 <52464204+smix8@users.noreply.github.com> | 2024-09-10 01:38:46 +0200 |
commit | 287fdb16d53c38f6766f773bebbea33c5270b8f3 (patch) | |
tree | 4e316fbc904e2fb7f46d922e327840d9a2fde25a /modules/navigation/2d/godot_navigation_server_2d.cpp | |
parent | 21249950da50e094b141f73646fd477d7832c8db (diff) | |
download | redot-engine-287fdb16d53c38f6766f773bebbea33c5270b8f3.tar.gz |
Add navigation region point and segment queries
Adds point and segment queries for regions, e.g. closet point, point normal, or segment intersection.
Diffstat (limited to 'modules/navigation/2d/godot_navigation_server_2d.cpp')
-rw-r--r-- | modules/navigation/2d/godot_navigation_server_2d.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/modules/navigation/2d/godot_navigation_server_2d.cpp b/modules/navigation/2d/godot_navigation_server_2d.cpp index bf69adc14c..2af125d434 100644 --- a/modules/navigation/2d/godot_navigation_server_2d.cpp +++ b/modules/navigation/2d/godot_navigation_server_2d.cpp @@ -318,6 +318,11 @@ int FORWARD_1_C(region_get_connections_count, RID, p_region, rid_to_rid); Vector2 FORWARD_2_R_C(v3_to_v2, region_get_connection_pathway_start, RID, p_region, int, p_connection_id, rid_to_rid, int_to_int); Vector2 FORWARD_2_R_C(v3_to_v2, region_get_connection_pathway_end, RID, p_region, int, p_connection_id, rid_to_rid, int_to_int); +Vector2 GodotNavigationServer2D::region_get_closest_point(RID p_region, const Vector2 &p_point) const { + Vector3 result = NavigationServer3D::get_singleton()->region_get_closest_point(p_region, v2_to_v3(p_point)); + return v3_to_v2(result); +} + Vector2 GodotNavigationServer2D::region_get_random_point(RID p_region, uint32_t p_navigation_layers, bool p_uniformly) const { Vector3 result = NavigationServer3D::get_singleton()->region_get_random_point(p_region, p_navigation_layers, p_uniformly); return v3_to_v2(result); |