Struct map_model::edits::MapEdits [−][src]
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
impl MapEdits
[src]
pub fn to_permanent(&self, map: &Map) -> PermanentMapEdits
[src]
Encode the edits in a permanent format, referring to more-stable OSM IDs.
impl MapEdits
[src]
pub(crate) fn new() -> MapEdits
[src]
pub fn load(map: &Map, path: String, timer: &mut Timer<'_>) -> Result<MapEdits>
[src]
fn save(&self, map: &Map)
[src]
fn update_derived(&mut self, map: &Map)
[src]
pub fn compress(&mut self, map: &Map)
[src]
Assumes update_derived has been called.
pub fn changed_lanes(&self, map: &Map) -> (BTreeSet<LaneID>, BTreeSet<RoadID>)
[src]
Pick apart changed_roads and figure out if an entire road was edited, or just a few lanes.
Trait Implementations
impl Clone for MapEdits
[src]
impl Debug for MapEdits
[src]
impl Default for MapEdits
[src]
impl PartialEq<MapEdits> for MapEdits
[src]
impl StructuralPartialEq for MapEdits
[src]
Auto Trait Implementations
impl RefUnwindSafe for MapEdits
[src]
impl Send for MapEdits
[src]
impl Sync for MapEdits
[src]
impl Unpin for MapEdits
[src]
impl UnwindSafe for MapEdits
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,