summaryrefslogtreecommitdiff
path: root/servers/navigation_server.h
diff options
context:
space:
mode:
Diffstat (limited to 'servers/navigation_server.h')
-rw-r--r--servers/navigation_server.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/servers/navigation_server.h b/servers/navigation_server.h
index bcdbf84339..2587e53ab2 100644
--- a/servers/navigation_server.h
+++ b/servers/navigation_server.h
@@ -90,6 +90,11 @@ public:
/// Returns the navigation path to reach the destination from the origin.
virtual Vector<Vector3> map_get_path(RID p_map, Vector3 p_origin, Vector3 p_destination, bool p_optimize) const = 0;
+ virtual Vector3 map_get_closest_point_to_segment(RID p_map, const Vector3 &p_from, const Vector3 &p_to, const bool p_use_collision = false) const = 0;
+ virtual Vector3 map_get_closest_point(RID p_map, const Vector3 &p_point) const = 0;
+ virtual Vector3 map_get_closest_point_normal(RID p_map, const Vector3 &p_point) const = 0;
+ virtual RID map_get_closest_point_owner(RID p_map, const Vector3 &p_point) const = 0;
+
/// Creates a new region.
virtual RID region_create() const = 0;
@@ -170,9 +175,11 @@ public:
/// Control activation of this server.
virtual void set_active(bool p_active) const = 0;
- /// Step the server
- /// NOTE: This function is not Threadsafe and MUST be called in single thread.
- virtual void step(real_t delta_time) = 0;
+ /// Process the collision avoidance agents.
+ /// The result of this process is needed by the physics server,
+ /// so this must be called in the main thread.
+ /// Note: This function is not thread safe.
+ virtual void process(real_t delta_time) = 0;
NavigationServer();
virtual ~NavigationServer();