diff options
Diffstat (limited to 'modules/gdnavigation/gd_navigation_server.h')
| -rw-r--r-- | modules/gdnavigation/gd_navigation_server.h | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/modules/gdnavigation/gd_navigation_server.h b/modules/gdnavigation/gd_navigation_server.h index 564e9870a0..e9f5c1ffe6 100644 --- a/modules/gdnavigation/gd_navigation_server.h +++ b/modules/gdnavigation/gd_navigation_server.h @@ -61,7 +61,6 @@ void MERGE(_cmd_, F_NAME)(T_0 D_0, T_1 D_1, T_2 D_2, T_3 D_3) class GdNavigationServer; -class Mutex; struct SetCommand { virtual ~SetCommand() {} @@ -69,9 +68,9 @@ struct SetCommand { }; class GdNavigationServer : public NavigationServer { - Mutex *commands_mutex; + Mutex commands_mutex; /// Mutex used to make any operation threadsafe. - Mutex *operations_mutex; + Mutex operations_mutex; std::vector<SetCommand *> commands; @@ -103,6 +102,11 @@ public: virtual Vector<Vector3> map_get_path(RID p_map, Vector3 p_origin, Vector3 p_destination, bool p_optimize) const; + 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; + virtual Vector3 map_get_closest_point(RID p_map, const Vector3 &p_point) const; + virtual Vector3 map_get_closest_point_normal(RID p_map, const Vector3 &p_point) const; + virtual RID map_get_closest_point_owner(RID p_map, const Vector3 &p_point) const; + virtual RID region_create() const; COMMAND_2(region_set_map, RID, p_region, RID, p_map); COMMAND_2(region_set_transform, RID, p_region, Transform, p_transform); @@ -126,7 +130,9 @@ public: COMMAND_1(free, RID, p_object); virtual void set_active(bool p_active) const; - virtual void step(real_t p_delta_time); + + void flush_queries(); + virtual void process(real_t p_delta_time); }; #undef COMMAND_1 |