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,
}
Expand description
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
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
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
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