Struct map_model::pathfind::v1::PathRequest [−][src]
pub struct PathRequest {
pub start: Position,
pub end: Position,
pub constraints: PathConstraints,
pub(crate) alt_start: Option<(Position, Duration)>,
}
Fields
start: Position
end: Position
constraints: PathConstraints
alt_start: Option<(Position, Duration)>
Implementations
pub fn between_buildings(
map: &Map,
from: BuildingID,
to: BuildingID,
constraints: PathConstraints
) -> Option<PathRequest>
pub fn between_buildings(
map: &Map,
from: BuildingID,
to: BuildingID,
constraints: PathConstraints
) -> Option<PathRequest>
Determines the start and end position to travel between two buildings for a certain mode. The path won’t cover modality transfers – if somebody has to walk between the building and a parking spot or bikeable position, that won’t be captured here.
The caller must pass in two valid sidewalk positions. This isn’t verified.
The caller must pass in two valid positions for the vehicle type. This isn’t verified. No off-side turns from driveways happen; the exact start position is used.
pub fn leave_from_driveway(
start: Position,
end: Position,
constraints: PathConstraints,
map: &Map
) -> PathRequest
pub fn leave_from_driveway(
start: Position,
end: Position,
constraints: PathConstraints,
map: &Map
) -> PathRequest
The caller must pass in two valid positions for the vehicle type. This isn’t verified. TODO The vehicle may cut exit the driveway onto the off-side of the road.
pub fn between_directed_roads(
map: &Map,
from: DirectedRoadID,
to: DirectedRoadID,
constraints: PathConstraints
) -> Option<PathRequest>
pub fn between_directed_roads(
map: &Map,
from: DirectedRoadID,
to: DirectedRoadID,
constraints: PathConstraints
) -> Option<PathRequest>
Create a request from the beginning of one road to the end of another. Picks an arbitrary start and end lane from the available ones.
Group similar requests together, returning the number of matches. This can be used to calculate less paths and multiply whatever’s being measured by the count.
Note this throws away detail. It only groups by the mode and from/to parent. Exact position and alternate starting points are lost.
Trait Implementations
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
Auto Trait Implementations
impl RefUnwindSafe for PathRequest
impl Send for PathRequest
impl Sync for PathRequest
impl Unpin for PathRequest
impl UnwindSafe for PathRequest
Blanket Implementations
Mutably borrows from an owned value. Read more
Compare self to key
and return true
if they are equal.
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
type Output = T
type Output = T
Should always be Self