Struct map_model::objects::building::Building [−][src]
pub struct Building {Show 13 fields
pub id: BuildingID,
pub polygon: Polygon,
pub levels: f64,
pub address: String,
pub name: Option<NamePerLanguage>,
pub orig_id: OsmID,
pub label_center: Pt2D,
pub amenities: Vec<Amenity>,
pub bldg_type: BuildingType,
pub parking: OffstreetParking,
pub osm_tags: Tags,
pub sidewalk_pos: Position,
pub driveway_geom: PolyLine,
}
Expand description
A building has connections to the road and sidewalk, may contain commercial amenities, and have off-street parking.
Fields
id: BuildingID
polygon: Polygon
levels: f64
address: String
name: Option<NamePerLanguage>
orig_id: OsmID
label_center: Pt2D
Where a text label should be centered to have the best chances of being contained within the polygon.
amenities: Vec<Amenity>
bldg_type: BuildingType
parking: OffstreetParking
Depending on options while importing, these might be empty, to save file space.
sidewalk_pos: Position
The building’s connection for any agent can change based on map edits. Just store the one for pedestrians and lazily calculate the others.
driveway_geom: PolyLine
Goes from building to sidewalk
Implementations
The polyline goes from the building to the driving position
Returns (biking position, sidewalk position). Could fail if the biking graph is disconnected.
Does this building contain any amenity matching the category?
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 Building
impl UnwindSafe for Building
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