|
HighMap library (C++)
|
Implements shortest path algorithms including Dijkstra's method for 2D array data representation. More...
Go to the source code of this file.
Namespaces | |
| namespace | hmap |
Functions | |
| Path | hmap::dijkstra (const Path &path, const Array &array, glm::vec4 bbox, float elevation_ratio=0.f, float distance_exponent=0.5f, float upward_penalization=1.f, Array *p_mask_nogo=nullptr) |
| Divide the path by adding points based on the lowest elevation difference between each pair of edge endpoints. | |
| Path | hmap::find_cut_path_dijkstra (const Array &z, DomainBoundary start, DomainBoundary end, float dijk_elevation_ratio=0.9f, float dijk_distance_exponent=2.f, float dijk_upward_penalization=100.f, uint seed=0, bool favor_boundary_center=true, bool favor_lower_elevation=true, bool favor_sinks=true) |
| Find a Dijkstra-based cut path between two domain boundaries. | |
| Path | hmap::find_cut_path_midpoint (const Array &z, DomainBoundary start, DomainBoundary end, uint seed, float offset_ratio=0.2f, int steps=16, bool favor_boundary_center=true, bool favor_lower_elevation=true, bool favor_sinks=true) |
| Generate a stochastic cut path using midpoint displacement. | |
| void | hmap::find_path_dijkstra (const Array &z, glm::ivec2 ij_start, glm::ivec2 ij_end, std::vector< int > &i_path, std::vector< int > &j_path, float elevation_ratio=0.1f, float distance_exponent=2.f, float upward_penalization=1.f, const Array *p_mask_nogo=nullptr) |
| Finds the path with the lowest elevation and elevation difference between two points in a 2D array using Dijkstra's algorithm. | |
| void | hmap::find_path_dijkstra (const Array &z, glm::ivec2 ij_start, std::vector< glm::ivec2 > ij_end_list, std::vector< std::vector< int > > &i_path_list, std::vector< std::vector< int > > &j_path_list, float elevation_ratio=0.1f, float distance_exponent=2.f, float upward_penalization=1.f, const Array *p_mask_nogo=nullptr) |
| std::vector< glm::ivec2 > | hmap::find_path_midpoint (const Array &z, glm::ivec2 ij_start, glm::ivec2 ij_end, float offset_ratio=0.5f, int max_it=0, int steps=16) |
| Compute a path between two points using iterative midpoint refinement. | |
Implements shortest path algorithms including Dijkstra's method for 2D array data representation.