Struct map_model::PathV2 [−][src]
pub struct PathV2 { steps: Vec<PathStepV2>, req: PathRequest, cost: Duration, uber_turns: Vec<UberTurnV2>, }
Expand description
A path between two endpoints for a particular mode. This representation is immutable and doesn’t prescribe specific lanes and turns to follow.
Fields
steps: Vec<PathStepV2>
req: PathRequest
cost: Duration
uber_turns: Vec<UberTurnV2>
Implementations
pub(crate) fn new(
steps: Vec<PathStepV2>,
req: PathRequest,
cost: Duration,
uber_turns: Vec<UberTurnV2>
) -> PathV2
pub(crate) fn from_roads(
roads: Vec<DirectedRoadID>,
req: PathRequest,
cost: Duration,
uber_turns: Vec<UberTurnV2>,
map: &Map
) -> PathV2
pub(crate) fn from_roads(
roads: Vec<DirectedRoadID>,
req: PathRequest,
cost: Duration,
uber_turns: Vec<UberTurnV2>,
map: &Map
) -> PathV2
Vehicle implementations often just calculate the sequence of roads. Turn that into PathStepV2 here.
The original PathRequest used to produce this path.
All steps in this path.
The time needed to perform this path. This time is not a lower bound; physically following the path might be faster. This time incorporates costs like using sub-optimal lanes or taking difficult turns.
Transform a sequence of roads representing a path into the current lane-based path, by picking particular lanes and turns to use.
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
Auto Trait Implementations
impl RefUnwindSafe for PathV2
impl UnwindSafe for PathV2
Blanket Implementations
Mutably borrows from an owned value. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
type Output = T
type Output = T
Should always be Self