Fix navigation merge errors, fixes #56786

- improved `detail/sample_max_error` default value
- improved floating point precision handling in cell key calculations
- improved `merge error` error message
- exposed `cell_height` of `nav_map` to the `Navigation`
- fixed cell key `y` calculation
This commit is contained in:
Pawel Lampe
2022-01-24 23:18:48 +01:00
parent 78f230885b
commit 6c6e50bf0c
12 changed files with 78 additions and 7 deletions

View File

@ -50,8 +50,9 @@ class NavMap : public NavRid {
Vector3 up;
/// To find the polygons edges the vertices are displaced in a grid where
/// each cell has the following cell_size.
/// each cell has the following cell_size and cell_height.
real_t cell_size;
real_t cell_height;
/// This value is used to detect the near edges to connect.
real_t edge_connection_margin;
@ -95,6 +96,11 @@ public:
return cell_size;
}
void set_cell_height(float p_cell_height);
float get_cell_height() const {
return cell_height;
}
void set_edge_connection_margin(float p_edge_connection_margin);
float get_edge_connection_margin() const {
return edge_connection_margin;