pub struct RenderCells {
pub polygons_per_cell: Vec<Vec<Polygon>>,
pub colors: Vec<Color>,
boundary_polygon: Polygon,
}
Fields§
§polygons_per_cell: Vec<Vec<Polygon>>
Rarely, this might be empty if the area is very small
colors: Vec<Color>
Colors per cell, such that adjacent cells are colored differently
boundary_polygon: Polygon
Implementations§
Source§impl RenderCells
impl RenderCells
Sourcepub fn new(map: &Map, neighbourhood: &Neighbourhood) -> RenderCells
pub fn new(map: &Map, neighbourhood: &Neighbourhood) -> RenderCells
Partition a neighbourhood’s boundary polygon based on the cells. This discretizes space into a grid, and then extracts a polygon from the raster. The results don’t look perfect, but it’s fast.
Sourcepub fn draw_colored_areas(&self) -> GeomBatch
pub fn draw_colored_areas(&self) -> GeomBatch
Draw cells as areas with different colors. The colors are meaningless, but the same color won’t be shared between adjacent cells.
Sourcepub fn draw_island_outlines(&self) -> GeomBatch
pub fn draw_island_outlines(&self) -> GeomBatch
Draw the boundary between cells as a thick outline. It’s meant to look like the neighbourhood is split into disconnected islands.
Sourcepub fn to_multipolygons(&self) -> Vec<MultiPolygon>
pub fn to_multipolygons(&self) -> Vec<MultiPolygon>
Per cell, convert all polygons to a geo::MultiPolygon
. Leave the coordinate system as map-space.
Auto Trait Implementations§
impl Freeze for RenderCells
impl RefUnwindSafe for RenderCells
impl Send for RenderCells
impl Sync for RenderCells
impl Unpin for RenderCells
impl UnwindSafe for RenderCells
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.