#include "navigation_polygon.h"
#include "core/math/geometry_2d.h"
#include "core/os/mutex.h"
#include "servers/navigation_server_2d.h"
#include "thirdparty/misc/polypartition.h"
#ifdef TOOLS_ENABLED
Rect2 NavigationPolygon::_edit_get_rect() const { … }
bool NavigationPolygon::_edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const { … }
#endif
void NavigationPolygon::set_vertices(const Vector<Vector2> &p_vertices) { … }
Vector<Vector2> NavigationPolygon::get_vertices() const { … }
void NavigationPolygon::_set_polygons(const TypedArray<Vector<int32_t>> &p_array) { … }
TypedArray<Vector<int32_t>> NavigationPolygon::_get_polygons() const { … }
void NavigationPolygon::_set_outlines(const TypedArray<Vector<Vector2>> &p_array) { … }
TypedArray<Vector<Vector2>> NavigationPolygon::_get_outlines() const { … }
void NavigationPolygon::add_polygon(const Vector<int> &p_polygon) { … }
void NavigationPolygon::add_outline_at_index(const Vector<Vector2> &p_outline, int p_index) { … }
int NavigationPolygon::get_polygon_count() const { … }
Vector<int> NavigationPolygon::get_polygon(int p_idx) { … }
void NavigationPolygon::clear_polygons() { … }
void NavigationPolygon::clear() { … }
void NavigationPolygon::set_data(const Vector<Vector2> &p_vertices, const Vector<Vector<int>> &p_polygons) { … }
void NavigationPolygon::set_data(const Vector<Vector2> &p_vertices, const Vector<Vector<int>> &p_polygons, const Vector<Vector<Vector2>> &p_outlines) { … }
void NavigationPolygon::get_data(Vector<Vector2> &r_vertices, Vector<Vector<int>> &r_polygons) { … }
void NavigationPolygon::get_data(Vector<Vector2> &r_vertices, Vector<Vector<int>> &r_polygons, Vector<Vector<Vector2>> &r_outlines) { … }
Ref<NavigationMesh> NavigationPolygon::get_navigation_mesh() { … }
void NavigationPolygon::set_outlines(const Vector<Vector<Vector2>> &p_outlines) { … }
Vector<Vector<Vector2>> NavigationPolygon::get_outlines() const { … }
void NavigationPolygon::set_polygons(const Vector<Vector<int>> &p_polygons) { … }
Vector<Vector<int>> NavigationPolygon::get_polygons() const { … }
void NavigationPolygon::add_outline(const Vector<Vector2> &p_outline) { … }
int NavigationPolygon::get_outline_count() const { … }
void NavigationPolygon::set_outline(int p_idx, const Vector<Vector2> &p_outline) { … }
void NavigationPolygon::remove_outline(int p_idx) { … }
Vector<Vector2> NavigationPolygon::get_outline(int p_idx) const { … }
void NavigationPolygon::clear_outlines() { … }
#ifndef DISABLE_DEPRECATED
void NavigationPolygon::make_polygons_from_outlines() { … }
#endif
void NavigationPolygon::set_cell_size(real_t p_cell_size) { … }
real_t NavigationPolygon::get_cell_size() const { … }
void NavigationPolygon::set_border_size(real_t p_value) { … }
real_t NavigationPolygon::get_border_size() const { … }
void NavigationPolygon::set_sample_partition_type(SamplePartitionType p_value) { … }
NavigationPolygon::SamplePartitionType NavigationPolygon::get_sample_partition_type() const { … }
void NavigationPolygon::set_parsed_geometry_type(ParsedGeometryType p_geometry_type) { … }
NavigationPolygon::ParsedGeometryType NavigationPolygon::get_parsed_geometry_type() const { … }
void NavigationPolygon::set_parsed_collision_mask(uint32_t p_mask) { … }
uint32_t NavigationPolygon::get_parsed_collision_mask() const { … }
void NavigationPolygon::set_parsed_collision_mask_value(int p_layer_number, bool p_value) { … }
bool NavigationPolygon::get_parsed_collision_mask_value(int p_layer_number) const { … }
void NavigationPolygon::set_source_geometry_mode(SourceGeometryMode p_geometry_mode) { … }
NavigationPolygon::SourceGeometryMode NavigationPolygon::get_source_geometry_mode() const { … }
void NavigationPolygon::set_source_geometry_group_name(const StringName &p_group_name) { … }
StringName NavigationPolygon::get_source_geometry_group_name() const { … }
void NavigationPolygon::set_agent_radius(real_t p_value) { … }
real_t NavigationPolygon::get_agent_radius() const { … }
void NavigationPolygon::set_baking_rect(const Rect2 &p_rect) { … }
Rect2 NavigationPolygon::get_baking_rect() const { … }
void NavigationPolygon::set_baking_rect_offset(const Vector2 &p_rect_offset) { … }
Vector2 NavigationPolygon::get_baking_rect_offset() const { … }
void NavigationPolygon::_bind_methods() { … }
void NavigationPolygon::_validate_property(PropertyInfo &p_property) const { … }