[][src]Struct map_model::PermanentMapEdits

pub struct PermanentMapEdits {
    pub map_name: MapName,
    pub edits_name: String,
    pub version: usize,
    commands: Vec<PermanentEditCmd>,
    merge_zones: bool,
    pub proposal_description: Vec<String>,
    pub proposal_link: Option<String>,
}

MapEdits are converted to this before serializing. Referencing things like LaneID in a Map won't work if the basemap is rebuilt from new OSM data, so instead we use stabler OSM IDs that're less likely to change.

Fields

map_name: MapNameedits_name: Stringversion: usizecommands: Vec<PermanentEditCmd>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.

proposal_description: Vec<String>

Edits without these are player generated.

proposal_link: Option<String>

The link is optional even for proposals

Implementations

impl PermanentMapEdits[src]

pub fn to_permanent(edits: &MapEdits, map: &Map) -> PermanentMapEdits[src]

pub fn from_permanent(
    perma: PermanentMapEdits,
    map: &Map
) -> Result<MapEdits, String>
[src]

Load edits from the permanent form, looking up the Map IDs by the hopefully stabler OSM IDs. Validate that the basemap hasn't changed in important ways.

Trait Implementations

impl Clone for PermanentMapEdits[src]

impl<'de> Deserialize<'de> for PermanentMapEdits[src]

impl Serialize for PermanentMapEdits[src]

Auto Trait Implementations

impl RefUnwindSafe for PermanentMapEdits

impl Send for PermanentMapEdits

impl Sync for PermanentMapEdits

impl Unpin for PermanentMapEdits

impl UnwindSafe for PermanentMapEdits

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,