Module pathfind

Source
Expand description

Everything related to pathfinding through a map for different types of agents.

Re-exportsΒ§

pub use self::engine::CreateEngine;
pub use self::pathfinder::Pathfinder;
pub use self::pathfinder::PathfinderCache;
pub use self::pathfinder::PathfinderCaching;
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Β§

engine πŸ”’
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, 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Β§

round
unround
zone_cost πŸ”’
Heavily penalize crossing into an access-restricted zone that doesn’t allow this mode.