Module map_model::pathfind [−][src]
Everything related to pathfinding through a map for different types of agents.
Re-exports
pub use self::ch::ContractionHierarchyPathfinder; | |
pub use self::dijkstra::build_graph_for_pedestrians; | |
pub use self::dijkstra::build_graph_for_vehicles; | |
pub use self::pathfinder::Pathfinder; | |
pub use self::v1::Path; | |
pub use self::v1::PathRequest; | |
pub use self::v1::PathStep; | |
pub use self::v2::PathStepV2; | |
pub use self::v2::PathV2; | |
pub use self::vehicles::vehicle_cost; | |
pub use self::walking::WalkingNode; |
Modules
ch | Uses https://github.com/easbar/fast_paths. Slower creation during map importing, but very fast queries. |
dijkstra | Pathfinding without needing to build a separate contraction hierarchy. |
node_map | Some helpers for working with fast_paths. |
pathfinder | |
uber_turns | To deal with complicated intersections and short roads in OSM, cluster intersections close together and then calculate UberTurns that string together several turns. |
v1 | |
v2 | Structures related to the new road-based pathfinding (https://github.com/a-b-street/abstreet/issues/555) live here. When the transition is done, things here will probably move into pathfind/mod.rs. |
vehicles | Pathfinding for cars, bikes, buses, and trains using contraction hierarchies |
walking | Pathfinding for pedestrians using contraction hierarchies, as well as figuring out if somebody should use public transit. |
Structs
RoutingParams | Tuneable parameters for all types of routing. |
Enums
PathConstraints | Who’s asking for a path? |
Functions
zone_cost | Heavily penalize crossing into an access-restricted zone that doesn’t allow this mode. |