Struct map_model::ParkingLot [−][src]
pub struct ParkingLot { pub id: ParkingLotID, pub polygon: Polygon, pub aisles: Vec<Vec<Pt2D>>, pub osm_id: OsmID, pub spots: Vec<(Pt2D, Angle)>, pub extra_spots: usize, pub driveway_line: PolyLine, pub driving_pos: Position, pub sidewalk_line: Line, pub sidewalk_pos: Position, }
Parking lots have some fixed capacity for cars, and are connected to a sidewalk and road.
Fields
id: ParkingLotID
polygon: Polygon
aisles: Vec<Vec<Pt2D>>
osm_id: OsmID
spots: Vec<(Pt2D, Angle)>
The middle of the “T”, pointing towards the parking aisle
extra_spots: usize
If we can’t render all spots (maybe a lot with no aisles or a multi-story garage), still count the other spots.
driveway_line: PolyLine
Goes from the lot to the driving lane
driving_pos: Position
Guaranteed to be at least 7m (MAX_CAR_LENGTH + a little buffer) away from both ends of the lane, to prevent various headaches
sidewalk_line: Line
Lot to sidewalk
sidewalk_pos: Position
Implementations
Trait Implementations
impl<'de> Deserialize<'de> for ParkingLot
[src]
impl<'de> Deserialize<'de> for ParkingLot
[src]fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl Serialize for ParkingLot
[src]
impl Serialize for ParkingLot
[src]Auto Trait Implementations
impl RefUnwindSafe for ParkingLot
impl Send for ParkingLot
impl Sync for ParkingLot
impl Unpin for ParkingLot
impl UnwindSafe for ParkingLot
Blanket Implementations
impl<T> Instrument 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> Same<T> for T
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
pub fn vzip(self) -> V
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,