Struct map_gui::render::AgentCache
source · [−]pub struct AgentCache {
pub unzoomed_agents: UnzoomedAgents,
time: Option<Time>,
agents_per_on: HashMap<Traversable, Vec<Box<dyn Renderable>>>,
unzoomed: Option<(Time, UnzoomedAgents, QuadTree<AgentID>, Drawable)>,
}
Fields
unzoomed_agents: UnzoomedAgents
This is controlled almost entirely by the minimap panel. It has no meaning in edit mode.
time: Option<Time>
agents_per_on: HashMap<Traversable, Vec<Box<dyn Renderable>>>
unzoomed: Option<(Time, UnzoomedAgents, QuadTree<AgentID>, Drawable)>
Implementations
sourceimpl AgentCache
impl AgentCache
pub fn new() -> AgentCache
pub fn get(&self, on: Traversable) -> Vec<&dyn Renderable>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
pub fn populate_if_needed(
&mut self,
on: Traversable,
map: &Map,
sim: &Sim,
cs: &ColorScheme,
prerender: &Prerender
)
sourcepub fn calculate_unzoomed_agents<P: AsRef<Prerender>>(
&mut self,
prerender: &mut P,
map: &Map,
sim: &Sim,
cs: &ColorScheme
) -> &QuadTree<AgentID>
pub fn calculate_unzoomed_agents<P: AsRef<Prerender>>(
&mut self,
prerender: &mut P,
map: &Map,
sim: &Sim,
cs: &ColorScheme
) -> &QuadTree<AgentID>
If the sim time has changed or the unzoomed agent filters have been modified, recalculate the quadtree and drawable for all unzoomed agents.
pub fn draw_unzoomed_agents(
&mut self,
g: &mut GfxCtx<'_>,
map: &Map,
sim: &Sim,
cs: &ColorScheme,
opts: &Options
)
Auto Trait Implementations
impl !RefUnwindSafe for AgentCache
impl !Send for AgentCache
impl !Sync for AgentCache
impl Unpin for AgentCache
impl !UnwindSafe for AgentCache
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn 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 T where
T: Any,
impl<T> Downcast for T where
T: Any,
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
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
. Read more
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
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. Read more
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. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be Self