#include "nav_map.h"
#include "nav_agent.h"
#include "nav_link.h"
#include "nav_obstacle.h"
#include "nav_region.h"
#include "3d/nav_mesh_queries_3d.h"
#include "core/config/project_settings.h"
#include "core/object/worker_thread_pool.h"
#include <Obstacle2d.h>
#ifdef DEBUG_ENABLED
#define NAVMAP_ITERATION_ZERO_ERROR_MSG() …
#else
#define NAVMAP_ITERATION_ZERO_ERROR_MSG …
#endif
void NavMap::set_up(Vector3 p_up) { … }
void NavMap::set_cell_size(real_t p_cell_size) { … }
void NavMap::set_cell_height(real_t p_cell_height) { … }
void NavMap::set_merge_rasterizer_cell_scale(float p_value) { … }
void NavMap::set_use_edge_connections(bool p_enabled) { … }
void NavMap::set_edge_connection_margin(real_t p_edge_connection_margin) { … }
void NavMap::set_link_connection_radius(real_t p_link_connection_radius) { … }
gd::PointKey NavMap::get_point_key(const Vector3 &p_pos) const { … }
Vector<Vector3> NavMap::get_path(Vector3 p_origin, Vector3 p_destination, bool p_optimize, uint32_t p_navigation_layers, Vector<int32_t> *r_path_types, TypedArray<RID> *r_path_rids, Vector<int64_t> *r_path_owners) const { … }
Vector3 NavMap::get_closest_point_to_segment(const Vector3 &p_from, const Vector3 &p_to, const bool p_use_collision) const { … }
Vector3 NavMap::get_closest_point(const Vector3 &p_point) const { … }
Vector3 NavMap::get_closest_point_normal(const Vector3 &p_point) const { … }
RID NavMap::get_closest_point_owner(const Vector3 &p_point) const { … }
gd::ClosestPointQueryResult NavMap::get_closest_point_info(const Vector3 &p_point) const { … }
void NavMap::add_region(NavRegion *p_region) { … }
void NavMap::remove_region(NavRegion *p_region) { … }
void NavMap::add_link(NavLink *p_link) { … }
void NavMap::remove_link(NavLink *p_link) { … }
bool NavMap::has_agent(NavAgent *agent) const { … }
void NavMap::add_agent(NavAgent *agent) { … }
void NavMap::remove_agent(NavAgent *agent) { … }
bool NavMap::has_obstacle(NavObstacle *obstacle) const { … }
void NavMap::add_obstacle(NavObstacle *obstacle) { … }
void NavMap::remove_obstacle(NavObstacle *obstacle) { … }
void NavMap::set_agent_as_controlled(NavAgent *agent) { … }
void NavMap::remove_agent_as_controlled(NavAgent *agent) { … }
Vector3 NavMap::get_random_point(uint32_t p_navigation_layers, bool p_uniformly) const { … }
void NavMap::sync() { … }
void NavMap::_update_rvo_obstacles_tree_2d() { … }
void NavMap::_update_rvo_agents_tree_2d() { … }
void NavMap::_update_rvo_agents_tree_3d() { … }
void NavMap::_update_rvo_simulation() { … }
void NavMap::compute_single_avoidance_step_2d(uint32_t index, NavAgent **agent) { … }
void NavMap::compute_single_avoidance_step_3d(uint32_t index, NavAgent **agent) { … }
void NavMap::step(real_t p_deltatime) { … }
void NavMap::dispatch_callbacks() { … }
void NavMap::_update_merge_rasterizer_cell_dimensions() { … }
int NavMap::get_region_connections_count(NavRegion *p_region) const { … }
Vector3 NavMap::get_region_connection_pathway_start(NavRegion *p_region, int p_connection_id) const { … }
Vector3 NavMap::get_region_connection_pathway_end(NavRegion *p_region, int p_connection_id) const { … }
NavMap::NavMap() { … }
NavMap::~NavMap() { … }