<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metaname="generator"content="rustdoc"><metaname="description"content="Simulates pedestrians. Unlike vehicles, pedestrians can move bidirectionally on sidewalks and just “ghost” through each other. There’s no queueing or slowdown when many people are overlapping. They’re simply grouped together into a DrawPedCrowdInput for rendering."><metaname="keywords"content="rust, rustlang, rust-lang, WalkingSimState"><title>WalkingSimState in sim::mechanics::walking - Rust</title><linkrel="stylesheet"type="text/css"href="../../../normalize.css"><linkrel="stylesheet"type="text/css"href="../../../rustdoc.css"id="mainThemeStyle"><linkrel="stylesheet"type="text/css"href="../../../light.css"id="themeStyle"><linkrel="stylesheet"type="text/css"href="../../../dark.css"disabled><linkrel="stylesheet"type="text/css"href="../../../ayu.css"disabled><scriptid="default-settings"></script><scriptsrc="../../../storage.js"></script><scriptsrc="../../../crates.js"></script><noscript><linkrel="stylesheet"href="../../../noscript.css"></noscript><linkrel="icon"type="image/svg+xml"href="../../../favicon.svg">
<linkrel="alternate icon"type="image/png"href="../../../favicon-32x32.png"><styletype="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><bodyclass="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="sidebar"><divclass="sidebar-menu"role="button">☰</div><ahref='../../../sim/index.html'><divclass='logo-container rust-logo'><imgsrc='../../../rust-logo.png'alt='logo'></div></a><pclass="location">Struct WalkingSimState</p><divclass="sidebar-elems"><divclass="block items"><aclass="sidebar-title"href="#fields">Fields</a><divclass="sidebar-links"><ahref="#structfield.events">events</a><ahref="#structfield.peds">peds</a><ahref="#structfield.peds_per_traversable">peds_per_traversable</a></div><aclass="sidebar-title"href="#implementations">Methods</a><divclass="sidebar-links"><ahref="#method.agent_properties">agent_properties</a><ahref="#method.all_waiting_people">all_waiting_people</a><ahref="#method.collect_events">collect_events</a><ahref="#method.debug_ped">debug_ped</a><ahref="#method.delete_ped">delete_ped</a><ahref="#method.find_trips_to_parking">find_trips_to_parking</a><ahref="#method.get_all_draw_peds">get_all_draw_peds</a><ahref="#method.get_draw_ped">get_draw_ped</a><ahref="#method.get_draw_peds_on">get_draw_peds_on</a><ahref="#method.get_path">get_path</a><ahref="#method.get_unzoomed_agents">get_unzoomed_agents</a><ahref="#method.new">new</a><ahref="#method.ped_boarded_bus">ped_boarded_bus</a><ahref="#method.populate_commuter_counts">populate_commuter_counts</a><ahref="#method.spawn_ped">spawn_ped</a><ahref="#method.trace_route">trace_route</a><ahref="#method.update_ped">update_ped</a></div><aclass="sidebar-title"href="#trait-implementations">Trait Implementations</a><divclass="sidebar-links"><ahref="#impl-Clone">Clone</a><ahref="#impl-Deserialize%3C%27de%3E">Deserialize<'de></a><ahref="#impl-Serialize">Serialize</a></div><aclass="sidebar-title"href="#synthetic-implementations">Auto Trait Implementations</a><divclass="sidebar-links"><ahref="#impl-RefUnwindSafe">RefUnwindSafe</a><ahref="#impl-Send">Send</a><ahref="#impl-Sync">Sync</a><ahref="#impl-Unpin">Unpin</a><ahref="#impl-UnwindSafe">UnwindSafe</a></div><aclass="sidebar-title"href="#blanket-implementations">Blanket Implementations</a><divclass="sidebar-links"><ahref="#impl-Any">Any</a><ahref="#impl-Borrow%3CT%3E">Borrow<T></a><ahref="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><ahref="#impl-DeserializeOwned">DeserializeOwned</a><ahref="#impl-Downcast">Downcast</a><ahref="#impl-DowncastSync">DowncastSync</a><ahref="#impl-From%3CT%3E">From<T></a><ahref="#impl-Instrument">Instrument</a><ahref="#impl-Into%3CU%3E">Into<U></a><ahref="#impl-Same%3CT%3E">Same<T></a><ahref="#impl-ToOwned">ToOwned</a><ahref="#impl-TryFrom%3CU%3E">TryFrom<U></a><ahref="#impl-TryInto%3CU%3E">TryInto<U></a><ahref="#impl-VZip%3CV%3E">VZip<V></a></div></div><pclass="location"><ahref="../../index.html">sim</a>::<wbr><ahref="../index.html">mechanics</a>::<wbr><ahref="index.html">walking</a></p><divid="sidebar-vars"data-name="WalkingSimState"data-ty="struct"data-relpath=""></div><scriptdefersrc="sidebar-items.js"></script></div></nav><divclass="theme-picker"><buttonid="theme-picker"aria-label="Pick another theme!"aria-haspopup="menu"><imgsrc="../../../brush.svg"width="18"height="18"alt="Pick another theme!"></button><divid="theme-choices"role="menu"></div></div><navclass="sub"><formclass="search-form"><divclass="search-container"><div><selectid="crate-search"><optionvalue="All crates">All crates</option></select><inputclass="search-input"name="search"disabledautocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"></div><buttontype="button"class="help-button">?</button>
then be further <code>downcast</code> into <code>Box<ConcreteType></code> where <code>ConcreteType</code> implements <code>Trait</code>. <ahref="#tymethod.into_any">Read more</a></p>
further <code>downcast</code> into <code>Rc<ConcreteType></code> where <code>ConcreteType</code> implements <code>Trait</code>. <ahref="#tymethod.into_any_rc">Read more</a></p>
further <code>downcast</code> into <code>Arc<ConcreteType></code> where <code>ConcreteType</code> implements <code>Trait</code>. <ahref="#tymethod.into_any_arc">Read more</a></p>
</div></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><h3id="impl-From%3CT%3E"class="impl"><codeclass="in-band">impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html"title="trait core::convert::From">From</a><T> for T</code><ahref="#impl-From%3CT%3E"class="anchor"></a><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548"title="goto source code">[src]</a></h3></summary><divclass="impl-items"><h4id="method.from"class="method hidden trait-impl"><code>pub fn <ahref="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from"class="fnname">from</a>(t: T) -> T</code><ahref="#method.from"class="anchor"></a><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>Performs the conversion.</p>
</div></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><h3id="impl-Instrument"class="impl"><codeclass="in-band">impl<T><aclass="trait"href="https://docs.rs/tracing/0.1.26/tracing/instrument/trait.Instrument.html"title="trait tracing::instrument::Instrument">Instrument</a> for T</code><ahref="#impl-Instrument"class="anchor"></a><aclass="srclink"href="https://docs.rs/tracing/0.1.26/src/tracing/instrument.rs.html#155"title="goto source code">[src]</a></h3></summary><divclass="impl-items"><h4id="method.instrument"class="method hidden trait-impl"><code>pub fn <ahref="https://docs.rs/tracing/0.1.26/tracing/instrument/trait.Instrument.html#method.instrument"class="fnname">instrument</a>(self, span: <aclass="struct"href="https://docs.rs/tracing/0.1.26/tracing/span/struct.Span.html"title="struct tracing::span::Span">Span</a>) -><aclass="struct"href="https://docs.rs/tracing/0.1.26/tracing/instrument/struct.Instrumented.html"title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><ahref="#method.instrument"class="anchor"></a><aclass="srclink"href="https://docs.rs/tracing/0.1.26/src/tracing/instrument.rs.html#38"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
</div><h4id="method.in_current_span"class="method hidden trait-impl"><code>pub fn <ahref="https://docs.rs/tracing/0.1.26/tracing/instrument/trait.Instrument.html#method.in_current_span"class="fnname">in_current_span</a>(self) -><aclass="struct"href="https://docs.rs/tracing/0.1.26/tracing/instrument/struct.Instrumented.html"title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><ahref="#method.in_current_span"class="anchor"></a><aclass="srclink"href="https://docs.rs/tracing/0.1.26/src/tracing/instrument.rs.html#74"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>Instruments this type with the <ahref="../struct.Span.html#method.current">current</a><code>Span</code>, returning an
</div></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><h3id="impl-Into%3CU%3E"class="impl"><codeclass="in-band">impl<T, U><aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html"title="trait core::convert::Into">Into</a><U> for T <spanclass="where fmt-newline">where<br> U: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html"title="trait core::convert::From">From</a><T>, </span></code><ahref="#impl-Into%3CU%3E"class="anchor"></a><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540"title="goto source code">[src]</a></h3></summary><divclass="impl-items"><h4id="method.into"class="method hidden trait-impl"><code>pub fn <ahref="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into"class="fnname">into</a>(self) -> U</code><ahref="#method.into"class="anchor"></a><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>Performs the conversion.</p>
</div></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><h3id="impl-Same%3CT%3E"class="impl"><codeclass="in-band">impl<T> Same<T> for T</code><ahref="#impl-Same%3CT%3E"class="anchor"></a></h3></summary><divclass="impl-items"><h4id="associatedtype.Output"class="type trait-impl"><code>type <ahref="#associatedtype.Output"class="type">Output</a> = T</code><ahref="#associatedtype.Output"class="anchor"></a></h4><divclass='docblock'><p>Should always be <code>Self</code></p>
</div></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><h3id="impl-ToOwned"class="impl"><codeclass="in-band">impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html"title="trait alloc::borrow::ToOwned">ToOwned</a> for T <spanclass="where fmt-newline">where<br> T: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html"title="trait core::clone::Clone">Clone</a>, </span></code><ahref="#impl-ToOwned"class="anchor"></a><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93"title="goto source code">[src]</a></h3></summary><divclass="impl-items"><h4id="associatedtype.Owned"class="type trait-impl"><code>type <ahref="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned"class="type">Owned</a> = T</code><ahref="#associatedtype.Owned"class="anchor"></a></h4><divclass='docblock'><p>The resulting type after obtaining ownership.</p>
</div><h4id="method.to_owned"class="method hidden trait-impl"><code>pub fn <ahref="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned"class="fnname">to_owned</a>(&self) -> T</code><ahref="#method.to_owned"class="anchor"></a><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <ahref="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
</div><h4id="method.clone_into"class="method hidden trait-impl"><code>pub fn <ahref="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into"class="fnname">clone_into</a>(&self, target: <aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><ahref="#method.clone_into"class="anchor"></a><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90"title="goto source code">[src]</a></h4><divclass="item-info hidden"><divclass="stab unstable"><details><summary><spanclass="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><divclass='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <ahref="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
</div></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><h3id="impl-TryFrom%3CU%3E"class="impl"><codeclass="in-band">impl<T, U><aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><U> for T <spanclass="where fmt-newline">where<br> U: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html"title="trait core::convert::Into">Into</a><T>, </span></code><ahref="#impl-TryFrom%3CU%3E"class="anchor"></a><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590"title="goto source code">[src]</a></h3></summary><divclass="impl-items"><h4id="associatedtype.Error"class="type trait-impl"><code>type <ahref="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error"class="type">Error</a> = <aclass="enum"href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html"title="enum core::convert::Infallible">Infallible</a></code><ahref="#associatedtype.Error"class="anchor"></a></h4><divclass='docblock'><p>The type returned in the event of a conversion error.</p>
</div><h4id="method.try_from"class="method hidden trait-impl"><code>pub fn <ahref="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from"class="fnname">try_from</a>(value: U) -><aclass="enum"href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"title="enum core::result::Result">Result</a><T, <T as <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><U>>::<aclass="type"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a>></code><ahref="#method.try_from"class="anchor"></a><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>Performs the conversion.</p>
</div></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><h3id="impl-TryInto%3CU%3E"class="impl"><codeclass="in-band">impl<T, U><aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html"title="trait core::convert::TryInto">TryInto</a><U> for T <spanclass="where fmt-newline">where<br> U: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><ahref="#impl-TryInto%3CU%3E"class="anchor"></a><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576"title="goto source code">[src]</a></h3></summary><divclass="impl-items"><h4id="associatedtype.Error-1"class="type trait-impl"><code>type <ahref="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error"class="type">Error</a> = <U as <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>>::<aclass="type"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a></code><ahref="#associatedtype.Error-1"class="anchor"></a></h4><divclass='docblock'><p>The type returned in the event of a conversion error.</p>
</div><h4id="method.try_into"class="method hidden trait-impl"><code>pub fn <ahref="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into"class="fnname">try_into</a>(self) -><aclass="enum"href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"title="enum core::result::Result">Result</a><U, <U as <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>>::<aclass="type"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a>></code><ahref="#method.try_into"class="anchor"></a><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>Performs the conversion.</p>
</div></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><h3id="impl-VZip%3CV%3E"class="impl"><codeclass="in-band">impl<V, T> VZip<V> for T <spanclass="where fmt-newline">where<br> V: MultiLane<T>, </span></code><ahref="#impl-VZip%3CV%3E"class="anchor"></a></h3></summary><divclass="impl-items"><h4id="method.vzip"class="method hidden trait-impl"><code>pub fn <ahref="#tymethod.vzip"class="fnname">vzip</a>(self) -> V</code><ahref="#method.vzip"class="anchor"></a></h4></div></details><h3id="impl-DeserializeOwned"class="impl"><codeclass="in-band">impl<T><aclass="trait"href="https://docs.rs/serde/1.0.126/serde/de/trait.DeserializeOwned.html"title="trait serde::de::DeserializeOwned">DeserializeOwned</a> for T <spanclass="where fmt-newline">where<br> T: for<'de><aclass="trait"href="https://docs.rs/serde/1.0.126/serde/de/trait.Deserialize.html"title="trait serde::de::Deserialize">Deserialize</a><'de>, </span></code><ahref="#impl-DeserializeOwned"class="anchor"></a><aclass="srclink"href="https://docs.rs/serde/1.0.126/src/serde/de/mod.rs.html#603"title="goto source code">[src]</a></h3></div></section><sectionid="search"class="content hidden"></section><divid="rustdoc-vars"data-root-path="../../../"data-current-crate="sim"data-search-index-js="../../../search-index.js"data-search-js="../../../search.js"></div>