Struct map_model::edits::MapEdits [−][src]
pub struct MapEdits { pub edits_name: String, pub commands: Vec<EditCmd>, pub merge_zones: bool, pub changed_roads: BTreeSet<RoadID>, pub original_intersections: BTreeMap<IntersectionID, EditIntersection>, pub changed_routes: BTreeSet<BusRouteID>, pub proposal_description: Vec<String>, pub proposal_link: Option<String>, }
Expand description
Represents changes to a map. Note this isn’t serializable – that’s what PermanentMapEdits
does.
Fields
edits_name: String
commands: Vec<EditCmd>
A stack, oldest edit is first. The same intersection may be edited multiple times in this stack, until compress() happens.
merge_zones: bool
If false, adjacent roads with the same AccessRestrictions will not be merged into the same Zone; every Road will be its own Zone. This is used to experiment with a per-road cap. Note this is a map-wide setting.
changed_roads: BTreeSet<RoadID>
Derived from commands, kept up to date by update_derived
original_intersections: BTreeMap<IntersectionID, EditIntersection>
changed_routes: BTreeSet<BusRouteID>
proposal_description: Vec<String>
Some edits are included in the game by default, in data/system/proposals, as “community proposals.” They require a description and may have a link to a write-up.
proposal_link: Option<String>
Implementations
Encode the edits in a permanent format, referring to more-stable OSM IDs.
Load map edits from a JSON file. If any part of the edits don’t match the current map, fail.
Load map edits from the given JSON bytes. If any part of the edits don’t match the current map, fail.
Load map edits from a JSON file. Strip out any commands that’re broken because they don’t match the current map. If the resulting edits are totally empty, consider that a failure – the edits likely don’t cover this map at all. This is currently most appropriate when using system proposals that cover a large area.
Pick apart changed_roads and figure out if an entire road was edited, or just a few lanes. Doesn’t return deleted lanes.
Produces an md5sum of the contents of the edits.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for MapEdits
impl UnwindSafe for MapEdits
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