Struct map_model::Map [−][src]
pub struct Map {}Show fields
roads: Vec<Road>, lanes: BTreeMap<LaneID, Lane>, lane_id_counter: usize, intersections: Vec<Intersection>, buildings: Vec<Building>, bus_stops: BTreeMap<BusStopID, BusStop>, bus_routes: Vec<BusRoute>, areas: Vec<Area>, parking_lots: Vec<ParkingLot>, boundary_polygon: Polygon, stop_signs: BTreeMap<IntersectionID, ControlStopSign>, traffic_signals: BTreeMap<IntersectionID, ControlTrafficSignal>, gps_bounds: GPSBounds, bounds: Bounds, config: MapConfig, pathfinder: Pathfinder, pathfinder_dirty: bool, routing_params: RoutingParams, zones: Vec<Zone>, name: MapName, edits: MapEdits, road_to_buildings: MultiMap<RoadID, BuildingID>,
Fields
roads: Vec<Road>
lanes: BTreeMap<LaneID, Lane>
lane_id_counter: usize
intersections: Vec<Intersection>
buildings: Vec<Building>
bus_stops: BTreeMap<BusStopID, BusStop>
bus_routes: Vec<BusRoute>
areas: Vec<Area>
parking_lots: Vec<ParkingLot>
boundary_polygon: Polygon
stop_signs: BTreeMap<IntersectionID, ControlStopSign>
traffic_signals: BTreeMap<IntersectionID, ControlTrafficSignal>
gps_bounds: GPSBounds
bounds: Bounds
config: MapConfig
pathfinder: Pathfinder
pathfinder_dirty: bool
routing_params: RoutingParams
zones: Vec<Zone>
name: MapName
edits: MapEdits
road_to_buildings: MultiMap<RoadID, BuildingID>
Implementations
Panics on borders
Returns (changed_roads, deleted_lanes, deleted_turns, added_turns, changed_intersections)
This can expensive, so don’t constantly do it while editing in the UI. But this must happen before the simulation resumes.
Since the player is in the middle of editing, the signal may not be valid. Don’t go through the entire apply_edits flow.
Load a map from a local serialized Map or RawMap. Note this won’t work on web. This should only be used by non-UI tools.
After deserializing a map directly, call this after.
The turns may belong to two different intersections!
pub fn get_turn_between(
&self,
from: LaneID,
to: LaneID,
parent: IntersectionID
) -> Option<&Turn>
[src]pub fn get_next_turns_and_lanes(
&self,
from: LaneID,
parent: IntersectionID
) -> Vec<(&Turn, &Lane)>
[src]pub fn get_movements_for(
&self,
from: DirectedRoadID,
constraints: PathConstraints
) -> Vec<MovementID>
[src]
pub fn get_movements_for(
&self,
from: DirectedRoadID,
constraints: PathConstraints
) -> Vec<MovementID>
[src]Find all movements from one road to another that’re usable by someone.
This and all_outgoing_borders are expensive to constantly repeat
Cars trying to park near this building should head for the driving lane returned here, then start their search. Some parking lanes are connected to driving lanes that’re “parking blackholes” – if there are no free spots on that lane, then the roads force cars to a border.
pub fn pathfind_v2_with_params(
&self,
req: PathRequest,
params: &RoutingParams
) -> Result<PathV2>
[src]pub fn should_use_transit(
&self,
start: Position,
end: Position
) -> Option<(BusStopID, Option<BusStopID>, BusRouteID)>
[src]pub fn all_costs_from(
&self,
req: PathRequest
) -> Option<(Duration, HashMap<DirectedRoadID, Duration>)>
[src]
pub fn all_costs_from(
&self,
req: PathRequest
) -> Option<(Duration, HashMap<DirectedRoadID, Duration>)>
[src]Return the cost of a single path, and also a mapping from every directed road to the cost of getting there from the same start. This can be used to understand why an alternative route wasn’t chosen.
pub fn hack_override_routing_params(
&mut self,
routing_params: RoutingParams,
timer: &mut Timer<'_>
)
[src]Simple search along undirected roads
Returns the routing params baked into the map.
Trait Implementations
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations
impl RefUnwindSafe for Map
impl UnwindSafe for Map
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