This commit is contained in:
dabreegster 2022-01-02 17:45:41 +00:00
parent 11d066e55f
commit 3b3e39bf65
67 changed files with 568 additions and 346 deletions

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Load an extra GeoJSON file, and add the area to the map dynamically."><meta name="keywords" content="rust, rustlang, rust-lang, add_study_area"><title>add_study_area in game::app - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../game/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><h2 class="location">Other items in<br><a href="../index.html">game</a>::<wbr><a href="index.html">app</a></h2><div id="sidebar-vars" data-name="add_study_area" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">game</a>::<wbr><a href="index.html">app</a>::<wbr><a class="fn" href="#">add_study_area</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../src/game/app.rs.html#897-907" title="goto source code">[src]</a></span></h1><pre class="rust fn"><code>fn add_study_area(map: &amp;mut <a class="struct" href="../../map_model/struct.Map.html" title="struct map_model::Map">Map</a>, name: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.str.html">str</a>) -&gt; <a class="type" href="https://docs.rs/anyhow/1.0.41/anyhow/type.Result.html" title="type anyhow::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.unit.html">()</a>&gt;</code></pre><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Load an extra GeoJSON file, and add the area to the map dynamically.</p>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Load an extra GeoJSON file, and add the area to the map dynamically."><meta name="keywords" content="rust, rustlang, rust-lang, add_study_area"><title>add_study_area in game::app - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../game/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><h2 class="location">Other items in<br><a href="../index.html">game</a>::<wbr><a href="index.html">app</a></h2><div id="sidebar-vars" data-name="add_study_area" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">game</a>::<wbr><a href="index.html">app</a>::<wbr><a class="fn" href="#">add_study_area</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../src/game/app.rs.html#899-909" title="goto source code">[src]</a></span></h1><pre class="rust fn"><code>fn add_study_area(map: &amp;mut <a class="struct" href="../../map_model/struct.Map.html" title="struct map_model::Map">Map</a>, name: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.str.html">str</a>) -&gt; <a class="type" href="https://docs.rs/anyhow/1.0.41/anyhow/type.Result.html" title="type anyhow::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.unit.html">()</a>&gt;</code></pre><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Load an extra GeoJSON file, and add the area to the map dynamically.</p>
</div></details></section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="game" data-search-index-js="../../search-index.js" data-search-js="../../search.js"></div>
<script src="../../main.js"></script>
</body></html>

View File

@ -1,4 +1,4 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `app` mod in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, app"><title>game::app - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../game/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><h2 class="location">Module app</h2><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#traits">Traits</a></li><li><a href="#functions">Functions</a></li><li><a href="#types">Type Definitions</a></li></ul></div><div id="sidebar-vars" data-name="app" data-ty="mod" data-relpath="./"></div><script defer src="./sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../index.html">game</a>::<wbr><a class="mod" href="#">app</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../src/game/app.rs.html#1-907" title="goto source code">[src]</a></span></h1><h2 id="structs" class="section-header"><a href="#structs">Structs</a></h2>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `app` mod in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, app"><title>game::app - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../game/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><h2 class="location">Module app</h2><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#traits">Traits</a></li><li><a href="#functions">Functions</a></li><li><a href="#types">Type Definitions</a></li></ul></div><div id="sidebar-vars" data-name="app" data-ty="mod" data-relpath="./"></div><script defer src="./sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../index.html">game</a>::<wbr><a class="mod" href="#">app</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../src/game/app.rs.html#1-909" title="goto source code">[src]</a></span></h1><h2 id="structs" class="section-header"><a href="#structs">Structs</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.App.html" title="game::app::App struct">App</a></div><div class="item-right docblock-short"><p>The top-level data that lasts through the entire game, no matter what state the game is in.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.FindDelayedIntersections.html" title="game::app::FindDelayedIntersections struct">FindDelayedIntersections</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Flags.html" title="game::app::Flags struct">Flags</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.PerMap.html" title="game::app::PerMap struct">PerMap</a></div><div class="item-right docblock-short"><p>All of the state thats bound to a specific map.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.PerObjectActions.html" title="game::app::PerObjectActions struct">PerObjectActions</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.SessionState.html" title="game::app::SessionState struct">SessionState</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.ShowEverything.html" title="game::app::ShowEverything struct">ShowEverything</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.ShowLayers.html" title="game::app::ShowLayers struct">ShowLayers</a></div><div class="item-right docblock-short"></div></div></div><h2 id="traits" class="section-header"><a href="#traits">Traits</a></h2>

View File

@ -31,11 +31,11 @@ minimap. <a href="../../map_gui/tools/minimap/trait.MinimapControls.html#method.
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.make_zoomed_side_panel" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/sandbox/minimap.rs.html#66-68" title="goto source code">[src]</a></div><a href="#method.make_zoomed_side_panel" class="anchor"></a><h4 class="code-header">fn <a href="../../map_gui/tools/minimap/trait.MinimapControls.html#method.make_zoomed_side_panel" class="fnname">make_zoomed_side_panel</a>(&amp;self, ctx: &amp;mut EventCtx&lt;'_&gt;, app: &amp;<a class="struct" href="struct.App.html" title="struct game::app::App">App</a>) -&gt; Widget</h4></div></summary><div class='docblock'><p>Controls to be placed to the left to the zoomed-in panel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.panel_clicked" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/sandbox/minimap.rs.html#70-99" title="goto source code">[src]</a></div><a href="#method.panel_clicked" class="anchor"></a><h4 class="code-header">fn <a href="../../map_gui/tools/minimap/trait.MinimapControls.html#method.panel_clicked" class="fnname">panel_clicked</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;ctx: &amp;mut EventCtx&lt;'_&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;app: &amp;mut <a class="struct" href="struct.App.html" title="struct game::app::App">App</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;action: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.str.html">str</a><br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.57.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Transition&lt;<a class="struct" href="struct.App.html" title="struct game::app::App">App</a>&gt;&gt;</h4></div></summary><div class='docblock'><p>If a button is clicked that was produced by some method in this trait, respond to it here.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.panel_changed" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/sandbox/minimap.rs.html#100-108" title="goto source code">[src]</a></div><a href="#method.panel_changed" class="anchor"></a><h4 class="code-header">fn <a href="../../map_gui/tools/minimap/trait.MinimapControls.html#method.panel_changed" class="fnname">panel_changed</a>(&amp;self, _: &amp;mut EventCtx&lt;'_&gt;, app: &amp;mut <a class="struct" href="struct.App.html" title="struct game::app::App">App</a>, panel: &amp;Panel)</h4></div></summary><div class='docblock'><p>Called for <code>Outcome::Changed</code> on the panel.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-SharedAppState" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/app.rs.html#835-894" title="goto source code">[src]</a></div><a href="#impl-SharedAppState" class="anchor"></a><h3 class="code-header in-band">impl SharedAppState for <a class="struct" href="struct.App.html" title="struct game::app::App">App</a></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.before_event" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/app.rs.html#836-838" title="goto source code">[src]</a></div><a href="#method.before_event" class="anchor"></a><h4 class="code-header">fn <a href="#method.before_event" class="fnname">before_event</a>(&amp;mut self)</h4></div></summary><div class='docblock'><p>Before <code>State::event</code> is called, call this.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.draw_default" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/app.rs.html#840-842" title="goto source code">[src]</a></div><a href="#method.draw_default" class="anchor"></a><h4 class="code-header">fn <a href="#method.draw_default" class="fnname">draw_default</a>(&amp;self, g: &amp;mut GfxCtx&lt;'_&gt;)</h4></div></summary><div class='docblock'><p>When DrawBaselayer::DefaultDraw is called, run this.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.dump_before_abort" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/app.rs.html#844-885" title="goto source code">[src]</a></div><a href="#method.dump_before_abort" class="anchor"></a><h4 class="code-header">fn <a href="#method.dump_before_abort" class="fnname">dump_before_abort</a>(&amp;self, canvas: &amp;Canvas)</h4></div></summary><div class='docblock'><p>Will be called if <code>State::event</code> or <code>State::draw</code> panics.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.before_quit" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/app.rs.html#887-889" title="goto source code">[src]</a></div><a href="#method.before_quit" class="anchor"></a><h4 class="code-header">fn <a href="#method.before_quit" class="fnname">before_quit</a>(&amp;self, canvas: &amp;Canvas)</h4></div></summary><div class='docblock'><p>Called before a normal exit, like window close</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.free_memory" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/app.rs.html#891-893" title="goto source code">[src]</a></div><a href="#method.free_memory" class="anchor"></a><h4 class="code-header">fn <a href="#method.free_memory" class="fnname">free_memory</a>(&amp;mut self)</h4></div></summary><div class='docblock'><p>If widgetry determines the video card is low on memory, this may be called. The application
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-SharedAppState" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/app.rs.html#837-896" title="goto source code">[src]</a></div><a href="#impl-SharedAppState" class="anchor"></a><h3 class="code-header in-band">impl SharedAppState for <a class="struct" href="struct.App.html" title="struct game::app::App">App</a></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.before_event" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/app.rs.html#838-840" title="goto source code">[src]</a></div><a href="#method.before_event" class="anchor"></a><h4 class="code-header">fn <a href="#method.before_event" class="fnname">before_event</a>(&amp;mut self)</h4></div></summary><div class='docblock'><p>Before <code>State::event</code> is called, call this.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.draw_default" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/app.rs.html#842-844" title="goto source code">[src]</a></div><a href="#method.draw_default" class="anchor"></a><h4 class="code-header">fn <a href="#method.draw_default" class="fnname">draw_default</a>(&amp;self, g: &amp;mut GfxCtx&lt;'_&gt;)</h4></div></summary><div class='docblock'><p>When DrawBaselayer::DefaultDraw is called, run this.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.dump_before_abort" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/app.rs.html#846-887" title="goto source code">[src]</a></div><a href="#method.dump_before_abort" class="anchor"></a><h4 class="code-header">fn <a href="#method.dump_before_abort" class="fnname">dump_before_abort</a>(&amp;self, canvas: &amp;Canvas)</h4></div></summary><div class='docblock'><p>Will be called if <code>State::event</code> or <code>State::draw</code> panics.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.before_quit" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/app.rs.html#889-891" title="goto source code">[src]</a></div><a href="#method.before_quit" class="anchor"></a><h4 class="code-header">fn <a href="#method.before_quit" class="fnname">before_quit</a>(&amp;self, canvas: &amp;Canvas)</h4></div></summary><div class='docblock'><p>Called before a normal exit, like window close</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.free_memory" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/app.rs.html#893-895" title="goto source code">[src]</a></div><a href="#method.free_memory" class="anchor"></a><h4 class="code-header">fn <a href="#method.free_memory" class="fnname">free_memory</a>(&amp;mut self)</h4></div></summary><div class='docblock'><p>If widgetry determines the video card is low on memory, this may be called. The application
should make its best effort to delete any unused Drawables. <a href="#method.free_memory">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-SimpleState%3CApp%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/challenges/mod.rs.html#240-273" title="goto source code">[src]</a></div><a href="#impl-SimpleState%3CApp%3E" class="anchor"></a><h3 class="code-header in-band">impl SimpleState&lt;<a class="struct" href="struct.App.html" title="struct game::app::App">App</a>&gt; for <a class="struct" href="../challenges/struct.ChallengesPicker.html" title="struct game::challenges::ChallengesPicker">ChallengesPicker</a></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.on_click" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/challenges/mod.rs.html#241-272" title="goto source code">[src]</a></div><a href="#method.on_click" class="anchor"></a><h4 class="code-header">fn <a class="fnname">on_click</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;ctx: &amp;mut EventCtx&lt;'_&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;app: &amp;mut <a class="struct" href="struct.App.html" title="struct game::app::App">App</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;x: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.str.html">str</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;_: &amp;Panel<br>) -&gt; Transition&lt;<a class="struct" href="struct.App.html" title="struct game::app::App">App</a>&gt;</h4></div></summary><div class='docblock'><p>Called when something on the panel has been clicked. Since the action is just a string,
the fallback case can just use <code>unreachable!()</code>. <a href="#tymethod.on_click">Read more</a></p>
@ -285,8 +285,8 @@ the event and immediately apply the transition. <a href="#method.panel_changed">
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.draw_baselayer-33" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/layer/mod.rs.html#270-272" title="goto source code">[src]</a></div><a href="#method.draw_baselayer-33" class="anchor"></a><h4 class="code-header">fn <a href="#method.draw_baselayer" class="fnname">draw_baselayer</a>(&amp;self) -&gt; DrawBaselayer</h4></div></summary><div class='docblock'><p>Specifies what to draw before draw()</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.draw-34" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/layer/mod.rs.html#274-277" title="goto source code">[src]</a></div><a href="#method.draw-34" class="anchor"></a><h4 class="code-header">fn <a class="fnname">draw</a>(&amp;self, g: &amp;mut GfxCtx&lt;'_&gt;, app: &amp;<a class="struct" href="struct.App.html" title="struct game::app::App">App</a>)</h4></div></summary><div class='docblock'><p>Draw</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.on_destroy-33" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.on_destroy-33" class="anchor"></a><h4 class="code-header">fn <a href="#method.on_destroy" class="fnname">on_destroy</a>(&amp;mut self, &amp;mut EventCtx&lt;'_&gt;, <a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.reference.html">&amp;mut </a>A)</h4></div></summary><div class='docblock'><p>Before this state is popped or replaced, call this.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-State%3CApp%3E-34" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/ltn/browse.rs.html#76-120" title="goto source code">[src]</a></div><a href="#impl-State%3CApp%3E-34" class="anchor"></a><h3 class="code-header in-band">impl State&lt;<a class="struct" href="struct.App.html" title="struct game::app::App">App</a>&gt; for <a class="struct" href="../ltn/browse/struct.BrowseNeighborhoods.html" title="struct game::ltn::browse::BrowseNeighborhoods">BrowseNeighborhoods</a></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.event-34" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/ltn/browse.rs.html#77-111" title="goto source code">[src]</a></div><a href="#method.event-34" class="anchor"></a><h4 class="code-header">fn <a class="fnname">event</a>(&amp;mut self, ctx: &amp;mut EventCtx&lt;'_&gt;, app: &amp;mut <a class="struct" href="struct.App.html" title="struct game::app::App">App</a>) -&gt; Transition&lt;<a class="struct" href="struct.App.html" title="struct game::app::App">App</a>&gt;</h4></div></summary><div class='docblock'><p>Respond to a UI event, such as input or time passing.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.draw-35" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/ltn/browse.rs.html#113-119" title="goto source code">[src]</a></div><a href="#method.draw-35" class="anchor"></a><h4 class="code-header">fn <a class="fnname">draw</a>(&amp;self, g: &amp;mut GfxCtx&lt;'_&gt;, app: &amp;<a class="struct" href="struct.App.html" title="struct game::app::App">App</a>)</h4></div></summary><div class='docblock'><p>Draw</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-State%3CApp%3E-34" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/ltn/browse.rs.html#50-101" title="goto source code">[src]</a></div><a href="#impl-State%3CApp%3E-34" class="anchor"></a><h3 class="code-header in-band">impl State&lt;<a class="struct" href="struct.App.html" title="struct game::app::App">App</a>&gt; for <a class="struct" href="../ltn/browse/struct.BrowseNeighborhoods.html" title="struct game::ltn::browse::BrowseNeighborhoods">BrowseNeighborhoods</a></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.event-34" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/ltn/browse.rs.html#51-92" title="goto source code">[src]</a></div><a href="#method.event-34" class="anchor"></a><h4 class="code-header">fn <a class="fnname">event</a>(&amp;mut self, ctx: &amp;mut EventCtx&lt;'_&gt;, app: &amp;mut <a class="struct" href="struct.App.html" title="struct game::app::App">App</a>) -&gt; Transition&lt;<a class="struct" href="struct.App.html" title="struct game::app::App">App</a>&gt;</h4></div></summary><div class='docblock'><p>Respond to a UI event, such as input or time passing.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.draw-35" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/ltn/browse.rs.html#94-100" title="goto source code">[src]</a></div><a href="#method.draw-35" class="anchor"></a><h4 class="code-header">fn <a class="fnname">draw</a>(&amp;self, g: &amp;mut GfxCtx&lt;'_&gt;, app: &amp;<a class="struct" href="struct.App.html" title="struct game::app::App">App</a>)</h4></div></summary><div class='docblock'><p>Draw</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.draw_baselayer-34" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.draw_baselayer-34" class="anchor"></a><h4 class="code-header">fn <a href="#method.draw_baselayer" class="fnname">draw_baselayer</a>(&amp;self) -&gt; DrawBaselayer</h4></div></summary><div class='docblock'><p>Specifies what to draw before draw()</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.on_destroy-34" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.on_destroy-34" class="anchor"></a><h4 class="code-header">fn <a href="#method.on_destroy" class="fnname">on_destroy</a>(&amp;mut self, &amp;mut EventCtx&lt;'_&gt;, <a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.reference.html">&amp;mut </a>A)</h4></div></summary><div class='docblock'><p>Before this state is popped or replaced, call this.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-State%3CApp%3E-35" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/ltn/connectivity.rs.html#76-119" title="goto source code">[src]</a></div><a href="#impl-State%3CApp%3E-35" class="anchor"></a><h3 class="code-header in-band">impl State&lt;<a class="struct" href="struct.App.html" title="struct game::app::App">App</a>&gt; for <a class="struct" href="../ltn/connectivity/struct.Viewer.html" title="struct game::ltn::connectivity::Viewer">Viewer</a></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.event-35" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/ltn/connectivity.rs.html#77-105" title="goto source code">[src]</a></div><a href="#method.event-35" class="anchor"></a><h4 class="code-header">fn <a class="fnname">event</a>(&amp;mut self, ctx: &amp;mut EventCtx&lt;'_&gt;, app: &amp;mut <a class="struct" href="struct.App.html" title="struct game::app::App">App</a>) -&gt; Transition&lt;<a class="struct" href="struct.App.html" title="struct game::app::App">App</a>&gt;</h4></div></summary><div class='docblock'><p>Respond to a UI event, such as input or time passing.</p>
@ -301,8 +301,8 @@ the event and immediately apply the transition. <a href="#method.panel_changed">
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.draw-38" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/ltn/rat_run_viewer.rs.html#184-199" title="goto source code">[src]</a></div><a href="#method.draw-38" class="anchor"></a><h4 class="code-header">fn <a class="fnname">draw</a>(&amp;self, g: &amp;mut GfxCtx&lt;'_&gt;, app: &amp;<a class="struct" href="struct.App.html" title="struct game::app::App">App</a>)</h4></div></summary><div class='docblock'><p>Draw</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.draw_baselayer-37" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.draw_baselayer-37" class="anchor"></a><h4 class="code-header">fn <a href="#method.draw_baselayer" class="fnname">draw_baselayer</a>(&amp;self) -&gt; DrawBaselayer</h4></div></summary><div class='docblock'><p>Specifies what to draw before draw()</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.on_destroy-37" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.on_destroy-37" class="anchor"></a><h4 class="code-header">fn <a href="#method.on_destroy" class="fnname">on_destroy</a>(&amp;mut self, &amp;mut EventCtx&lt;'_&gt;, <a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.reference.html">&amp;mut </a>A)</h4></div></summary><div class='docblock'><p>Before this state is popped or replaced, call this.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-State%3CApp%3E-38" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/ltn/select_boundary.rs.html#160-224" title="goto source code">[src]</a></div><a href="#impl-State%3CApp%3E-38" class="anchor"></a><h3 class="code-header in-band">impl State&lt;<a class="struct" href="struct.App.html" title="struct game::app::App">App</a>&gt; for <a class="struct" href="../ltn/select_boundary/struct.SelectBoundary.html" title="struct game::ltn::select_boundary::SelectBoundary">SelectBoundary</a></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.event-38" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/ltn/select_boundary.rs.html#161-217" title="goto source code">[src]</a></div><a href="#method.event-38" class="anchor"></a><h4 class="code-header">fn <a class="fnname">event</a>(&amp;mut self, ctx: &amp;mut EventCtx&lt;'_&gt;, app: &amp;mut <a class="struct" href="struct.App.html" title="struct game::app::App">App</a>) -&gt; Transition&lt;<a class="struct" href="struct.App.html" title="struct game::app::App">App</a>&gt;</h4></div></summary><div class='docblock'><p>Respond to a UI event, such as input or time passing.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.draw-39" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/ltn/select_boundary.rs.html#219-223" title="goto source code">[src]</a></div><a href="#method.draw-39" class="anchor"></a><h4 class="code-header">fn <a class="fnname">draw</a>(&amp;self, g: &amp;mut GfxCtx&lt;'_&gt;, _: &amp;<a class="struct" href="struct.App.html" title="struct game::app::App">App</a>)</h4></div></summary><div class='docblock'><p>Draw</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-State%3CApp%3E-38" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/ltn/select_boundary.rs.html#187-252" title="goto source code">[src]</a></div><a href="#impl-State%3CApp%3E-38" class="anchor"></a><h3 class="code-header in-band">impl State&lt;<a class="struct" href="struct.App.html" title="struct game::app::App">App</a>&gt; for <a class="struct" href="../ltn/select_boundary/struct.SelectBoundary.html" title="struct game::ltn::select_boundary::SelectBoundary">SelectBoundary</a></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.event-38" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/ltn/select_boundary.rs.html#188-245" title="goto source code">[src]</a></div><a href="#method.event-38" class="anchor"></a><h4 class="code-header">fn <a class="fnname">event</a>(&amp;mut self, ctx: &amp;mut EventCtx&lt;'_&gt;, app: &amp;mut <a class="struct" href="struct.App.html" title="struct game::app::App">App</a>) -&gt; Transition&lt;<a class="struct" href="struct.App.html" title="struct game::app::App">App</a>&gt;</h4></div></summary><div class='docblock'><p>Respond to a UI event, such as input or time passing.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.draw-39" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/ltn/select_boundary.rs.html#247-251" title="goto source code">[src]</a></div><a href="#method.draw-39" class="anchor"></a><h4 class="code-header">fn <a class="fnname">draw</a>(&amp;self, g: &amp;mut GfxCtx&lt;'_&gt;, _: &amp;<a class="struct" href="struct.App.html" title="struct game::app::App">App</a>)</h4></div></summary><div class='docblock'><p>Draw</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.draw_baselayer-38" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.draw_baselayer-38" class="anchor"></a><h4 class="code-header">fn <a href="#method.draw_baselayer" class="fnname">draw_baselayer</a>(&amp;self) -&gt; DrawBaselayer</h4></div></summary><div class='docblock'><p>Specifies what to draw before draw()</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.on_destroy-38" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.on_destroy-38" class="anchor"></a><h4 class="code-header">fn <a href="#method.on_destroy" class="fnname">on_destroy</a>(&amp;mut self, &amp;mut EventCtx&lt;'_&gt;, <a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.reference.html">&amp;mut </a>A)</h4></div></summary><div class='docblock'><p>Before this state is popped or replaced, call this.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-State%3CApp%3E-39" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/sandbox/dashboards/commuter.rs.html#337-450" title="goto source code">[src]</a></div><a href="#impl-State%3CApp%3E-39" class="anchor"></a><h3 class="code-header in-band">impl State&lt;<a class="struct" href="struct.App.html" title="struct game::app::App">App</a>&gt; for <a class="struct" href="../sandbox/dashboards/commuter/struct.CommuterPatterns.html" title="struct game::sandbox::dashboards::commuter::CommuterPatterns">CommuterPatterns</a></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.event-39" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/game/sandbox/dashboards/commuter.rs.html#338-441" title="goto source code">[src]</a></div><a href="#method.event-39" class="anchor"></a><h4 class="code-header">fn <a class="fnname">event</a>(&amp;mut self, ctx: &amp;mut EventCtx&lt;'_&gt;, app: &amp;mut <a class="struct" href="struct.App.html" title="struct game::app::App">App</a>) -&gt; Transition&lt;<a class="struct" href="struct.App.html" title="struct game::app::App">App</a>&gt;</h4></div></summary><div class='docblock'><p>Respond to a UI event, such as input or time passing.</p>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,3 +0,0 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `COLORS` constant in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, COLORS"><title>COLORS in game::ltn::browse - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc constant"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../../game/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><h2 class="location">Other items in<br><a href="../../index.html">game</a>::<wbr><a href="../index.html">ltn</a>::<wbr><a href="index.html">browse</a></h2><div id="sidebar-vars" data-name="COLORS" data-ty="constant" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Constant <a href="../../index.html">game</a>::<wbr><a href="../index.html">ltn</a>::<wbr><a href="index.html">browse</a>::<wbr><a class="constant" href="#">COLORS</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../../src/game/ltn/browse.rs.html#18-25" title="goto source code">[src]</a></span></h1><pre class="rust const"><code>const COLORS: <a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.array.html">[</a>Color<a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.array.html">; 6]</a>;</code></pre></section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="game" data-search-index-js="../../../search-index.js" data-search-js="../../../search.js"></div>
<script src="../../../main.js"></script>
</body></html>

View File

@ -1,3 +1,3 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `detect_neighborhoods` fn in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, detect_neighborhoods"><title>detect_neighborhoods in game::ltn::browse - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../../game/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><h2 class="location">Other items in<br><a href="../../index.html">game</a>::<wbr><a href="../index.html">ltn</a>::<wbr><a href="index.html">browse</a></h2><div id="sidebar-vars" data-name="detect_neighborhoods" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../../index.html">game</a>::<wbr><a href="../index.html">ltn</a>::<wbr><a href="index.html">browse</a>::<wbr><a class="fn" href="#">detect_neighborhoods</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../../src/game/ltn/browse.rs.html#122-181" title="goto source code">[src]</a></span></h1><pre class="rust fn"><code>fn detect_neighborhoods(<br>&nbsp;&nbsp;&nbsp;&nbsp;ctx: &amp;mut EventCtx&lt;'_&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;app: &amp;<a class="struct" href="../../app/struct.App.html" title="struct game::app::App">App</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;timer: &amp;mut <a class="struct" href="../../../abstutil/time/struct.Timer.html" title="struct abstutil::time::Timer">Timer</a>&lt;'_&gt;<br>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.tuple.html">(</a><a class="struct" href="https://doc.rust-lang.org/1.57.0/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a>&lt;<a class="struct" href="struct.Obj.html" title="struct game::ltn::browse::Obj">Obj</a>, <a class="struct" href="../../../map_model/objects/block/struct.Block.html" title="struct map_model::objects::block::Block">Block</a>&gt;, World&lt;<a class="struct" href="struct.Obj.html" title="struct game::ltn::browse::Obj">Obj</a>&gt;<a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.tuple.html">)</a></code></pre></section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="game" data-search-index-js="../../../search-index.js" data-search-js="../../../search.js"></div>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `detect_neighborhoods` fn in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, detect_neighborhoods"><title>detect_neighborhoods in game::ltn::browse - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../../game/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><h2 class="location">Other items in<br><a href="../../index.html">game</a>::<wbr><a href="../index.html">ltn</a>::<wbr><a href="index.html">browse</a></h2><div id="sidebar-vars" data-name="detect_neighborhoods" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../../index.html">game</a>::<wbr><a href="../index.html">ltn</a>::<wbr><a href="index.html">browse</a>::<wbr><a class="fn" href="#">detect_neighborhoods</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../../src/game/ltn/browse.rs.html#103-124" title="goto source code">[src]</a></span></h1><pre class="rust fn"><code>fn detect_neighborhoods(<br>&nbsp;&nbsp;&nbsp;&nbsp;ctx: &amp;mut EventCtx&lt;'_&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;app: &amp;mut <a class="struct" href="../../app/struct.App.html" title="struct game::app::App">App</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;timer: &amp;mut <a class="struct" href="../../../abstutil/time/struct.Timer.html" title="struct abstutil::time::Timer">Timer</a>&lt;'_&gt;<br>) -&gt; World&lt;<a class="struct" href="../partition/struct.NeighborhoodID.html" title="struct game::ltn::partition::NeighborhoodID">NeighborhoodID</a>&gt;</code></pre></section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="game" data-search-index-js="../../../search-index.js" data-search-js="../../../search.js"></div>
<script src="../../../main.js"></script>
</body></html>

View File

@ -1,6 +1,5 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `browse` mod in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, browse"><title>game::ltn::browse - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../../game/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><h2 class="location">Module browse</h2><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#constants">Constants</a></li><li><a href="#functions">Functions</a></li></ul></div><div id="sidebar-vars" data-name="browse" data-ty="mod" data-relpath="./"></div><script defer src="./sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">game</a>::<wbr><a href="../index.html">ltn</a>::<wbr><a class="mod" href="#">browse</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../../src/game/ltn/browse.rs.html#1-181" title="goto source code">[src]</a></span></h1><h2 id="structs" class="section-header"><a href="#structs">Structs</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.BrowseNeighborhoods.html" title="game::ltn::browse::BrowseNeighborhoods struct">BrowseNeighborhoods</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Obj.html" title="game::ltn::browse::Obj struct">Obj</a></div><div class="item-right docblock-short"></div></div></div><h2 id="constants" class="section-header"><a href="#constants">Constants</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="constant" href="constant.COLORS.html" title="game::ltn::browse::COLORS constant">COLORS</a></div><div class="item-right docblock-short"></div></div></div><h2 id="functions" class="section-header"><a href="#functions">Functions</a></h2>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `browse` mod in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, browse"><title>game::ltn::browse - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../../game/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><h2 class="location">Module browse</h2><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#functions">Functions</a></li></ul></div><div id="sidebar-vars" data-name="browse" data-ty="mod" data-relpath="./"></div><script defer src="./sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">game</a>::<wbr><a href="../index.html">ltn</a>::<wbr><a class="mod" href="#">browse</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../../src/game/ltn/browse.rs.html#1-124" title="goto source code">[src]</a></span></h1><h2 id="structs" class="section-header"><a href="#structs">Structs</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.BrowseNeighborhoods.html" title="game::ltn::browse::BrowseNeighborhoods struct">BrowseNeighborhoods</a></div><div class="item-right docblock-short"></div></div></div><h2 id="functions" class="section-header"><a href="#functions">Functions</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.detect_neighborhoods.html" title="game::ltn::browse::detect_neighborhoods fn">detect_neighborhoods</a></div><div class="item-right docblock-short"></div></div></div></section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="game" data-search-index-js="../../../search-index.js" data-search-js="../../../search.js"></div>
<script src="../../../main.js"></script>
</body></html>

View File

@ -1 +1 @@
initSidebarItems({"constant":[["COLORS",""]],"fn":[["detect_neighborhoods",""]],"struct":[["BrowseNeighborhoods",""],["Obj",""]]});
initSidebarItems({"fn":[["detect_neighborhoods",""]],"struct":[["BrowseNeighborhoods",""]]});

File diff suppressed because one or more lines are too long

View File

@ -1,3 +1,3 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `draw_zoomed_planters` fn in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, draw_zoomed_planters"><title>draw_zoomed_planters in game::ltn - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../game/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><h2 class="location">Other items in<br><a href="../index.html">game</a>::<wbr><a href="index.html">ltn</a></h2><div id="sidebar-vars" data-name="draw_zoomed_planters" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">game</a>::<wbr><a href="index.html">ltn</a>::<wbr><a class="fn" href="#">draw_zoomed_planters</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../src/game/ltn/mod.rs.html#221-237" title="goto source code">[src]</a></span></h1><pre class="rust fn"><code>fn draw_zoomed_planters(ctx: &amp;EventCtx&lt;'_&gt;, batch: &amp;mut GeomBatch, line: <a class="struct" href="../../geom/line/struct.Line.html" title="struct geom::line::Line">Line</a>)</code></pre></section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="game" data-search-index-js="../../search-index.js" data-search-js="../../search.js"></div>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `draw_zoomed_planters` fn in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, draw_zoomed_planters"><title>draw_zoomed_planters in game::ltn - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../game/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><h2 class="location">Other items in<br><a href="../index.html">game</a>::<wbr><a href="index.html">ltn</a></h2><div id="sidebar-vars" data-name="draw_zoomed_planters" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">game</a>::<wbr><a href="index.html">ltn</a>::<wbr><a class="fn" href="#">draw_zoomed_planters</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../src/game/ltn/mod.rs.html#223-239" title="goto source code">[src]</a></span></h1><pre class="rust fn"><code>fn draw_zoomed_planters(ctx: &amp;EventCtx&lt;'_&gt;, batch: &amp;mut GeomBatch, line: <a class="struct" href="../../geom/line/struct.Line.html" title="struct geom::line::Line">Line</a>)</code></pre></section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="game" data-search-index-js="../../search-index.js" data-search-js="../../search.js"></div>
<script src="../../main.js"></script>
</body></html>

View File

@ -1,3 +1,3 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `find_cells` fn in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, find_cells"><title>find_cells in game::ltn - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../game/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><h2 class="location">Other items in<br><a href="../index.html">game</a>::<wbr><a href="index.html">ltn</a></h2><div id="sidebar-vars" data-name="find_cells" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">game</a>::<wbr><a href="index.html">ltn</a>::<wbr><a class="fn" href="#">find_cells</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../src/game/ltn/mod.rs.html#241-329" title="goto source code">[src]</a></span></h1><pre class="rust fn"><code>fn find_cells(<br>&nbsp;&nbsp;&nbsp;&nbsp;map: &amp;<a class="struct" href="../../map_model/struct.Map.html" title="struct map_model::Map">Map</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;perimeter: &amp;<a class="struct" href="../../map_model/objects/block/struct.Perimeter.html" title="struct map_model::objects::block::Perimeter">Perimeter</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;borders: &amp;<a class="struct" href="https://doc.rust-lang.org/1.57.0/alloc/collections/btree/set/struct.BTreeSet.html" title="struct alloc::collections::btree::set::BTreeSet">BTreeSet</a>&lt;<a class="struct" href="../../map_model/objects/intersection/struct.IntersectionID.html" title="struct map_model::objects::intersection::IntersectionID">IntersectionID</a>&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;modal_filters: &amp;<a class="struct" href="struct.ModalFilters.html" title="struct game::ltn::ModalFilters">ModalFilters</a><br>) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.57.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="struct.Cell.html" title="struct game::ltn::Cell">Cell</a>&gt;</code></pre></section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="game" data-search-index-js="../../search-index.js" data-search-js="../../search.js"></div>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `find_cells` fn in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, find_cells"><title>find_cells in game::ltn - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../game/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><h2 class="location">Other items in<br><a href="../index.html">game</a>::<wbr><a href="index.html">ltn</a></h2><div id="sidebar-vars" data-name="find_cells" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">game</a>::<wbr><a href="index.html">ltn</a>::<wbr><a class="fn" href="#">find_cells</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../src/game/ltn/mod.rs.html#243-331" title="goto source code">[src]</a></span></h1><pre class="rust fn"><code>fn find_cells(<br>&nbsp;&nbsp;&nbsp;&nbsp;map: &amp;<a class="struct" href="../../map_model/struct.Map.html" title="struct map_model::Map">Map</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;perimeter: &amp;<a class="struct" href="../../map_model/objects/block/struct.Perimeter.html" title="struct map_model::objects::block::Perimeter">Perimeter</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;borders: &amp;<a class="struct" href="https://doc.rust-lang.org/1.57.0/alloc/collections/btree/set/struct.BTreeSet.html" title="struct alloc::collections::btree::set::BTreeSet">BTreeSet</a>&lt;<a class="struct" href="../../map_model/objects/intersection/struct.IntersectionID.html" title="struct map_model::objects::intersection::IntersectionID">IntersectionID</a>&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;modal_filters: &amp;<a class="struct" href="struct.ModalFilters.html" title="struct game::ltn::ModalFilters">ModalFilters</a><br>) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.57.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="struct.Cell.html" title="struct game::ltn::Cell">Cell</a>&gt;</code></pre></section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="game" data-search-index-js="../../search-index.js" data-search-js="../../search.js"></div>
<script src="../../main.js"></script>
</body></html>

View File

@ -1,3 +1,3 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `floodfill` fn in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, floodfill"><title>floodfill in game::ltn - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../game/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><h2 class="location">Other items in<br><a href="../index.html">game</a>::<wbr><a href="index.html">ltn</a></h2><div id="sidebar-vars" data-name="floodfill" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">game</a>::<wbr><a href="index.html">ltn</a>::<wbr><a class="fn" href="#">floodfill</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../src/game/ltn/mod.rs.html#331-419" title="goto source code">[src]</a></span></h1><pre class="rust fn"><code>fn floodfill(<br>&nbsp;&nbsp;&nbsp;&nbsp;map: &amp;<a class="struct" href="../../map_model/struct.Map.html" title="struct map_model::Map">Map</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;start: <a class="struct" href="../../map_model/objects/road/struct.RoadID.html" title="struct map_model::objects::road::RoadID">RoadID</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;perimeter: &amp;<a class="struct" href="../../map_model/objects/block/struct.Perimeter.html" title="struct map_model::objects::block::Perimeter">Perimeter</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;neighborhood_borders: &amp;<a class="struct" href="https://doc.rust-lang.org/1.57.0/alloc/collections/btree/set/struct.BTreeSet.html" title="struct alloc::collections::btree::set::BTreeSet">BTreeSet</a>&lt;<a class="struct" href="../../map_model/objects/intersection/struct.IntersectionID.html" title="struct map_model::objects::intersection::IntersectionID">IntersectionID</a>&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;modal_filters: &amp;<a class="struct" href="struct.ModalFilters.html" title="struct game::ltn::ModalFilters">ModalFilters</a><br>) -&gt; <a class="struct" href="struct.Cell.html" title="struct game::ltn::Cell">Cell</a></code></pre></section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="game" data-search-index-js="../../search-index.js" data-search-js="../../search.js"></div>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `floodfill` fn in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, floodfill"><title>floodfill in game::ltn - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../game/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><h2 class="location">Other items in<br><a href="../index.html">game</a>::<wbr><a href="index.html">ltn</a></h2><div id="sidebar-vars" data-name="floodfill" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">game</a>::<wbr><a href="index.html">ltn</a>::<wbr><a class="fn" href="#">floodfill</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../src/game/ltn/mod.rs.html#333-421" title="goto source code">[src]</a></span></h1><pre class="rust fn"><code>fn floodfill(<br>&nbsp;&nbsp;&nbsp;&nbsp;map: &amp;<a class="struct" href="../../map_model/struct.Map.html" title="struct map_model::Map">Map</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;start: <a class="struct" href="../../map_model/objects/road/struct.RoadID.html" title="struct map_model::objects::road::RoadID">RoadID</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;perimeter: &amp;<a class="struct" href="../../map_model/objects/block/struct.Perimeter.html" title="struct map_model::objects::block::Perimeter">Perimeter</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;neighborhood_borders: &amp;<a class="struct" href="https://doc.rust-lang.org/1.57.0/alloc/collections/btree/set/struct.BTreeSet.html" title="struct alloc::collections::btree::set::BTreeSet">BTreeSet</a>&lt;<a class="struct" href="../../map_model/objects/intersection/struct.IntersectionID.html" title="struct map_model::objects::intersection::IntersectionID">IntersectionID</a>&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;modal_filters: &amp;<a class="struct" href="struct.ModalFilters.html" title="struct game::ltn::ModalFilters">ModalFilters</a><br>) -&gt; <a class="struct" href="struct.Cell.html" title="struct game::ltn::Cell">Cell</a></code></pre></section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="game" data-search-index-js="../../search-index.js" data-search-js="../../search.js"></div>
<script src="../../main.js"></script>
</body></html>

View File

@ -1,6 +1,6 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `ltn` mod in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, ltn"><title>game::ltn - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../game/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><h2 class="location">Module ltn</h2><div class="sidebar-elems"><div class="block items"><ul><li><a href="#modules">Modules</a></li><li><a href="#structs">Structs</a></li><li><a href="#functions">Functions</a></li></ul></div><div id="sidebar-vars" data-name="ltn" data-ty="mod" data-relpath="./"></div><script defer src="./sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../index.html">game</a>::<wbr><a class="mod" href="#">ltn</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../src/game/ltn/mod.rs.html#1-503" title="goto source code">[src]</a></span></h1><h2 id="reexports" class="section-header"><a href="#reexports">Re-exports</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left import-item"><code>pub use browse::<a class="struct" href="browse/struct.BrowseNeighborhoods.html" title="struct game::ltn::browse::BrowseNeighborhoods">BrowseNeighborhoods</a>;</code></div><div class="item-right docblock-short"></div></div></div><h2 id="modules" class="section-header"><a href="#modules">Modules</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="mod" href="browse/index.html" title="game::ltn::browse mod">browse</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="connectivity/index.html" title="game::ltn::connectivity mod">connectivity</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="draw_cells/index.html" title="game::ltn::draw_cells mod">draw_cells</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="pathfinding/index.html" title="game::ltn::pathfinding mod">pathfinding</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="per_neighborhood/index.html" title="game::ltn::per_neighborhood mod">per_neighborhood</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="rat_run_viewer/index.html" title="game::ltn::rat_run_viewer mod">rat_run_viewer</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="rat_runs/index.html" title="game::ltn::rat_runs mod">rat_runs</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="select_boundary/index.html" title="game::ltn::select_boundary mod">select_boundary</a></div><div class="item-right docblock-short"></div></div></div><h2 id="structs" class="section-header"><a href="#structs">Structs</a></h2>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `ltn` mod in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, ltn"><title>game::ltn - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../game/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><h2 class="location">Module ltn</h2><div class="sidebar-elems"><div class="block items"><ul><li><a href="#modules">Modules</a></li><li><a href="#structs">Structs</a></li><li><a href="#functions">Functions</a></li></ul></div><div id="sidebar-vars" data-name="ltn" data-ty="mod" data-relpath="./"></div><script defer src="./sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../index.html">game</a>::<wbr><a class="mod" href="#">ltn</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../src/game/ltn/mod.rs.html#1-505" title="goto source code">[src]</a></span></h1><h2 id="reexports" class="section-header"><a href="#reexports">Re-exports</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left import-item"><code>pub use browse::<a class="struct" href="browse/struct.BrowseNeighborhoods.html" title="struct game::ltn::browse::BrowseNeighborhoods">BrowseNeighborhoods</a>;</code></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left import-item"><code>pub use partition::<a class="struct" href="partition/struct.Partitioning.html" title="struct game::ltn::partition::Partitioning">Partitioning</a>;</code></div><div class="item-right docblock-short"></div></div></div><h2 id="modules" class="section-header"><a href="#modules">Modules</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="mod" href="browse/index.html" title="game::ltn::browse mod">browse</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="connectivity/index.html" title="game::ltn::connectivity mod">connectivity</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="draw_cells/index.html" title="game::ltn::draw_cells mod">draw_cells</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="partition/index.html" title="game::ltn::partition mod">partition</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="pathfinding/index.html" title="game::ltn::pathfinding mod">pathfinding</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="per_neighborhood/index.html" title="game::ltn::per_neighborhood mod">per_neighborhood</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="rat_run_viewer/index.html" title="game::ltn::rat_run_viewer mod">rat_run_viewer</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="rat_runs/index.html" title="game::ltn::rat_runs mod">rat_runs</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="select_boundary/index.html" title="game::ltn::select_boundary mod">select_boundary</a></div><div class="item-right docblock-short"></div></div></div><h2 id="structs" class="section-header"><a href="#structs">Structs</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Cell.html" title="game::ltn::Cell struct">Cell</a></div><div class="item-right docblock-short"><p>A partitioning of the interior of a neighborhood based on driving connectivity</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.DiagonalFilter.html" title="game::ltn::DiagonalFilter struct">DiagonalFilter</a></div><div class="item-right docblock-short"><p>A diagonal filter exists in an intersection. Its defined by two roads (the order is
arbitrary). When all of the intersections roads are sorted in clockwise order, this pair of

View File

@ -0,0 +1,3 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `COLORS` constant in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, COLORS"><title>COLORS in game::ltn::partition - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc constant"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../../game/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><h2 class="location">Other items in<br><a href="../../index.html">game</a>::<wbr><a href="../index.html">ltn</a>::<wbr><a href="index.html">partition</a></h2><div id="sidebar-vars" data-name="COLORS" data-ty="constant" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Constant <a href="../../index.html">game</a>::<wbr><a href="../index.html">ltn</a>::<wbr><a href="index.html">partition</a>::<wbr><a class="constant" href="#">COLORS</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../../src/game/ltn/partition.rs.html#10-17" title="goto source code">[src]</a></span></h1><pre class="rust const"><code>const COLORS: <a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.array.html">[</a>Color<a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.array.html">; 6]</a>;</code></pre></section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="game" data-search-index-js="../../../search-index.js" data-search-js="../../../search.js"></div>
<script src="../../../main.js"></script>
</body></html>

View File

@ -0,0 +1,6 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `partition` mod in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, partition"><title>game::ltn::partition - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../../game/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><h2 class="location">Module partition</h2><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#constants">Constants</a></li></ul></div><div id="sidebar-vars" data-name="partition" data-ty="mod" data-relpath="./"></div><script defer src="./sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">game</a>::<wbr><a href="../index.html">ltn</a>::<wbr><a class="mod" href="#">partition</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../../src/game/ltn/partition.rs.html#1-94" title="goto source code">[src]</a></span></h1><h2 id="structs" class="section-header"><a href="#structs">Structs</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.NeighborhoodID.html" title="game::ltn::partition::NeighborhoodID struct">NeighborhoodID</a></div><div class="item-right docblock-short"><p>An opaque ID, wont be contiguous as we adjust boundaries</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Partitioning.html" title="game::ltn::partition::Partitioning struct">Partitioning</a></div><div class="item-right docblock-short"></div></div></div><h2 id="constants" class="section-header"><a href="#constants">Constants</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="constant" href="constant.COLORS.html" title="game::ltn::partition::COLORS constant">COLORS</a></div><div class="item-right docblock-short"></div></div></div></section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="game" data-search-index-js="../../../search-index.js" data-search-js="../../../search.js"></div>
<script src="../../../main.js"></script>
</body></html>

View File

@ -0,0 +1 @@
initSidebarItems({"constant":[["COLORS",""]],"struct":[["NeighborhoodID","An opaque ID, wont be contiguous as we adjust boundaries"],["Partitioning",""]]});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="If true, the neighborhood has changed and the caller should recalculate stuff"><meta name="keywords" content="rust, rustlang, rust-lang, handle_world_outcome"><title>handle_world_outcome in game::ltn::per_neighborhood - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../../game/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><h2 class="location">Other items in<br><a href="../../index.html">game</a>::<wbr><a href="../index.html">ltn</a>::<wbr><a href="index.html">per_neighborhood</a></h2><div id="sidebar-vars" data-name="handle_world_outcome" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../../index.html">game</a>::<wbr><a href="../index.html">ltn</a>::<wbr><a href="index.html">per_neighborhood</a>::<wbr><a class="fn" href="#">handle_world_outcome</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../../src/game/ltn/per_neighborhood.rs.html#175-231" title="goto source code">[src]</a></span></h1><pre class="rust fn"><code>pub fn handle_world_outcome(<br>&nbsp;&nbsp;&nbsp;&nbsp;ctx: &amp;mut EventCtx&lt;'_&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;app: &amp;mut <a class="struct" href="../../app/struct.App.html" title="struct game::app::App">App</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;outcome: WorldOutcome&lt;<a class="enum" href="enum.FilterableObj.html" title="enum game::ltn::per_neighborhood::FilterableObj">FilterableObj</a>&gt;<br>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.bool.html">bool</a></code></pre><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>If true, the neighborhood has changed and the caller should recalculate stuff</p>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="If true, the neighborhood has changed and the caller should recalculate stuff"><meta name="keywords" content="rust, rustlang, rust-lang, handle_world_outcome"><title>handle_world_outcome in game::ltn::per_neighborhood - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../../game/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><h2 class="location">Other items in<br><a href="../../index.html">game</a>::<wbr><a href="../index.html">ltn</a>::<wbr><a href="index.html">per_neighborhood</a></h2><div id="sidebar-vars" data-name="handle_world_outcome" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../../index.html">game</a>::<wbr><a href="../index.html">ltn</a>::<wbr><a href="index.html">per_neighborhood</a>::<wbr><a class="fn" href="#">handle_world_outcome</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../../src/game/ltn/per_neighborhood.rs.html#179-235" title="goto source code">[src]</a></span></h1><pre class="rust fn"><code>pub fn handle_world_outcome(<br>&nbsp;&nbsp;&nbsp;&nbsp;ctx: &amp;mut EventCtx&lt;'_&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;app: &amp;mut <a class="struct" href="../../app/struct.App.html" title="struct game::app::App">App</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;outcome: WorldOutcome&lt;<a class="enum" href="enum.FilterableObj.html" title="enum game::ltn::per_neighborhood::FilterableObj">FilterableObj</a>&gt;<br>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.bool.html">bool</a></code></pre><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>If true, the neighborhood has changed and the caller should recalculate stuff</p>
</div></details></section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="game" data-search-index-js="../../../search-index.js" data-search-js="../../../search.js"></div>
<script src="../../../main.js"></script>
</body></html>

View File

@ -1,4 +1,4 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Adds clickable objects for managing filters on roads and intersections. The caller is responsible for base drawing behavior, initialize_hover, etc."><meta name="keywords" content="rust, rustlang, rust-lang, populate_world"><title>populate_world in game::ltn::per_neighborhood - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../../game/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><h2 class="location">Other items in<br><a href="../../index.html">game</a>::<wbr><a href="../index.html">ltn</a>::<wbr><a href="index.html">per_neighborhood</a></h2><div id="sidebar-vars" data-name="populate_world" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../../index.html">game</a>::<wbr><a href="../index.html">ltn</a>::<wbr><a href="index.html">per_neighborhood</a>::<wbr><a class="fn" href="#">populate_world</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../../src/game/ltn/per_neighborhood.rs.html#141-172" title="goto source code">[src]</a></span></h1><pre class="rust fn"><code>pub fn populate_world&lt;T:&nbsp;ObjectID, F:&nbsp;<a class="trait" href="https://doc.rust-lang.org/1.57.0/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(<a class="enum" href="enum.FilterableObj.html" title="enum game::ltn::per_neighborhood::FilterableObj">FilterableObj</a>) -&gt; T&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;ctx: &amp;mut EventCtx&lt;'_&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;app: &amp;<a class="struct" href="../../app/struct.App.html" title="struct game::app::App">App</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;neighborhood: &amp;<a class="struct" href="../struct.Neighborhood.html" title="struct game::ltn::Neighborhood">Neighborhood</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;world: &amp;mut World&lt;T&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;wrap_id: F, <br>&nbsp;&nbsp;&nbsp;&nbsp;zorder: <a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.usize.html">usize</a><br>)</code></pre><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Adds clickable objects for managing filters on roads and intersections. The caller is
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Adds clickable objects for managing filters on roads and intersections. The caller is responsible for base drawing behavior, initialize_hover, etc."><meta name="keywords" content="rust, rustlang, rust-lang, populate_world"><title>populate_world in game::ltn::per_neighborhood - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../../game/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><h2 class="location">Other items in<br><a href="../../index.html">game</a>::<wbr><a href="../index.html">ltn</a>::<wbr><a href="index.html">per_neighborhood</a></h2><div id="sidebar-vars" data-name="populate_world" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../../index.html">game</a>::<wbr><a href="../index.html">ltn</a>::<wbr><a href="index.html">per_neighborhood</a>::<wbr><a class="fn" href="#">populate_world</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../../src/game/ltn/per_neighborhood.rs.html#145-176" title="goto source code">[src]</a></span></h1><pre class="rust fn"><code>pub fn populate_world&lt;T:&nbsp;ObjectID, F:&nbsp;<a class="trait" href="https://doc.rust-lang.org/1.57.0/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(<a class="enum" href="enum.FilterableObj.html" title="enum game::ltn::per_neighborhood::FilterableObj">FilterableObj</a>) -&gt; T&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;ctx: &amp;mut EventCtx&lt;'_&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;app: &amp;<a class="struct" href="../../app/struct.App.html" title="struct game::app::App">App</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;neighborhood: &amp;<a class="struct" href="../struct.Neighborhood.html" title="struct game::ltn::Neighborhood">Neighborhood</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;world: &amp;mut World&lt;T&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;wrap_id: F, <br>&nbsp;&nbsp;&nbsp;&nbsp;zorder: <a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.usize.html">usize</a><br>)</code></pre><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Adds clickable objects for managing filters on roads and intersections. The caller is
responsible for base drawing behavior, initialize_hover, etc.</p>
</div></details></section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="game" data-search-index-js="../../../search-index.js" data-search-js="../../../search.js"></div>
<script src="../../../main.js"></script>

View File

@ -1,4 +1,4 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `per_neighborhood` mod in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, per_neighborhood"><title>game::ltn::per_neighborhood - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../../game/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><h2 class="location">Module per_neighborhood</h2><div class="sidebar-elems"><div class="block items"><ul><li><a href="#enums">Enums</a></li><li><a href="#traits">Traits</a></li><li><a href="#functions">Functions</a></li></ul></div><div id="sidebar-vars" data-name="per_neighborhood" data-ty="mod" data-relpath="./"></div><script defer src="./sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">game</a>::<wbr><a href="../index.html">ltn</a>::<wbr><a class="mod" href="#">per_neighborhood</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../../src/game/ltn/per_neighborhood.rs.html#1-231" title="goto source code">[src]</a></span></h1><h2 id="enums" class="section-header"><a href="#enums">Enums</a></h2>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `per_neighborhood` mod in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, per_neighborhood"><title>game::ltn::per_neighborhood - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../../game/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><h2 class="location">Module per_neighborhood</h2><div class="sidebar-elems"><div class="block items"><ul><li><a href="#enums">Enums</a></li><li><a href="#traits">Traits</a></li><li><a href="#functions">Functions</a></li></ul></div><div id="sidebar-vars" data-name="per_neighborhood" data-ty="mod" data-relpath="./"></div><script defer src="./sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">game</a>::<wbr><a href="../index.html">ltn</a>::<wbr><a class="mod" href="#">per_neighborhood</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../../src/game/ltn/per_neighborhood.rs.html#1-235" title="goto source code">[src]</a></span></h1><h2 id="enums" class="section-header"><a href="#enums">Enums</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.FilterableObj.html" title="game::ltn::per_neighborhood::FilterableObj enum">FilterableObj</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.Tab.html" title="game::ltn::per_neighborhood::Tab enum">Tab</a></div><div class="item-right docblock-short"></div></div></div><h2 id="traits" class="section-header"><a href="#traits">Traits</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="trait" href="trait.TakeNeighborhood.html" title="game::ltn::per_neighborhood::TakeNeighborhood trait">TakeNeighborhood</a></div><div class="item-right docblock-short"></div></div></div><h2 id="functions" class="section-header"><a href="#functions">Functions</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.handle_world_outcome.html" title="game::ltn::per_neighborhood::handle_world_outcome fn">handle_world_outcome</a></div><div class="item-right docblock-short"><p>If true, the neighborhood has changed and the caller should recalculate stuff</p>

View File

@ -1,5 +1,5 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `TakeNeighborhood` trait in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, TakeNeighborhood"><title>TakeNeighborhood in game::ltn::per_neighborhood - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../../game/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><h2 class="location">Trait TakeNeighborhood</h2><div class="sidebar-elems"><div class="block items"><h3 class="sidebar-title"><a href="#required-methods">Required Methods</a></h3><div class="sidebar-links"><a href="#tymethod.take_neighborhood">take_neighborhood</a></div><h3 class="sidebar-title"><a href="#implementors">Implementors</a></h3></div><h2 class="location">Other items in<br><a href="../../index.html">game</a>::<wbr><a href="../index.html">ltn</a>::<wbr><a href="index.html">per_neighborhood</a></h2><div id="sidebar-vars" data-name="TakeNeighborhood" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../../index.html">game</a>::<wbr><a href="../index.html">ltn</a>::<wbr><a href="index.html">per_neighborhood</a>::<wbr><a class="trait" href="#">TakeNeighborhood</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../../src/game/ltn/per_neighborhood.rs.html#20-22" title="goto source code">[src]</a></span></h1><div class="docblock type-decl"><pre class="rust trait"><code>pub trait TakeNeighborhood {
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `TakeNeighborhood` trait in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, TakeNeighborhood"><title>TakeNeighborhood in game::ltn::per_neighborhood - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../../game/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><h2 class="location">Trait TakeNeighborhood</h2><div class="sidebar-elems"><div class="block items"><h3 class="sidebar-title"><a href="#required-methods">Required Methods</a></h3><div class="sidebar-links"><a href="#tymethod.take_neighborhood">take_neighborhood</a></div><h3 class="sidebar-title"><a href="#implementors">Implementors</a></h3></div><h2 class="location">Other items in<br><a href="../../index.html">game</a>::<wbr><a href="../index.html">ltn</a>::<wbr><a href="index.html">per_neighborhood</a></h2><div id="sidebar-vars" data-name="TakeNeighborhood" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../../index.html">game</a>::<wbr><a href="../index.html">ltn</a>::<wbr><a href="index.html">per_neighborhood</a>::<wbr><a class="trait" href="#">TakeNeighborhood</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../../src/game/ltn/per_neighborhood.rs.html#21-23" title="goto source code">[src]</a></span></h1><div class="docblock type-decl"><pre class="rust trait"><code>pub trait TakeNeighborhood {
fn <a href="#tymethod.take_neighborhood" class="fnname">take_neighborhood</a>(self) -&gt; <a class="struct" href="../struct.Neighborhood.html" title="struct game::ltn::Neighborhood">Neighborhood</a>;
}</code></pre></div><h2 id="required-methods" class="small-section-header">Required methods<a href="#required-methods" class="anchor"></a></h2><div class="methods"><div id="tymethod.take_neighborhood" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/game/ltn/per_neighborhood.rs.html#21" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#tymethod.take_neighborhood" class="fnname">take_neighborhood</a>(self) -&gt; <a class="struct" href="../struct.Neighborhood.html" title="struct game::ltn::Neighborhood">Neighborhood</a></h4></div></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><div id="impl-TakeNeighborhood" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../../src/game/ltn/connectivity.rs.html#17-21" title="goto source code">[src]</a></div><a href="#impl-TakeNeighborhood" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="trait.TakeNeighborhood.html" title="trait game::ltn::per_neighborhood::TakeNeighborhood">TakeNeighborhood</a> for <a class="struct" href="../connectivity/struct.Viewer.html" title="struct game::ltn::connectivity::Viewer">Viewer</a></h3></div><div id="impl-TakeNeighborhood-1" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../../src/game/ltn/pathfinding.rs.html#23-27" title="goto source code">[src]</a></div><a href="#impl-TakeNeighborhood-1" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="trait.TakeNeighborhood.html" title="trait game::ltn::per_neighborhood::TakeNeighborhood">TakeNeighborhood</a> for <a class="struct" href="../pathfinding/struct.RoutePlanner.html" title="struct game::ltn::pathfinding::RoutePlanner">RoutePlanner</a></h3></div><div id="impl-TakeNeighborhood-2" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../../src/game/ltn/rat_run_viewer.rs.html#25-29" title="goto source code">[src]</a></div><a href="#impl-TakeNeighborhood-2" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="trait.TakeNeighborhood.html" title="trait game::ltn::per_neighborhood::TakeNeighborhood">TakeNeighborhood</a> for <a class="struct" href="../rat_run_viewer/struct.BrowseRatRuns.html" title="struct game::ltn::rat_run_viewer::BrowseRatRuns">BrowseRatRuns</a></h3></div></div><script type="text/javascript" src="../../../implementors/game/ltn/per_neighborhood/trait.TakeNeighborhood.js" async></script></section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="game" data-search-index-js="../../../search-index.js" data-search-js="../../../search.js"></div>
}</code></pre></div><h2 id="required-methods" class="small-section-header">Required methods<a href="#required-methods" class="anchor"></a></h2><div class="methods"><div id="tymethod.take_neighborhood" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/game/ltn/per_neighborhood.rs.html#22" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#tymethod.take_neighborhood" class="fnname">take_neighborhood</a>(self) -&gt; <a class="struct" href="../struct.Neighborhood.html" title="struct game::ltn::Neighborhood">Neighborhood</a></h4></div></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><div id="impl-TakeNeighborhood" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../../src/game/ltn/connectivity.rs.html#17-21" title="goto source code">[src]</a></div><a href="#impl-TakeNeighborhood" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="trait.TakeNeighborhood.html" title="trait game::ltn::per_neighborhood::TakeNeighborhood">TakeNeighborhood</a> for <a class="struct" href="../connectivity/struct.Viewer.html" title="struct game::ltn::connectivity::Viewer">Viewer</a></h3></div><div id="impl-TakeNeighborhood-1" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../../src/game/ltn/pathfinding.rs.html#23-27" title="goto source code">[src]</a></div><a href="#impl-TakeNeighborhood-1" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="trait.TakeNeighborhood.html" title="trait game::ltn::per_neighborhood::TakeNeighborhood">TakeNeighborhood</a> for <a class="struct" href="../pathfinding/struct.RoutePlanner.html" title="struct game::ltn::pathfinding::RoutePlanner">RoutePlanner</a></h3></div><div id="impl-TakeNeighborhood-2" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../../src/game/ltn/rat_run_viewer.rs.html#25-29" title="goto source code">[src]</a></div><a href="#impl-TakeNeighborhood-2" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="trait.TakeNeighborhood.html" title="trait game::ltn::per_neighborhood::TakeNeighborhood">TakeNeighborhood</a> for <a class="struct" href="../rat_run_viewer/struct.BrowseRatRuns.html" title="struct game::ltn::rat_run_viewer::BrowseRatRuns">BrowseRatRuns</a></h3></div></div><script type="text/javascript" src="../../../implementors/game/ltn/per_neighborhood/trait.TakeNeighborhood.js" async></script></section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="game" data-search-index-js="../../../search-index.js" data-search-js="../../../search.js"></div>
<script src="../../../main.js"></script>
</body></html>

View File

@ -1,3 +0,0 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `UNSELECTED` constant in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, UNSELECTED"><title>UNSELECTED in game::ltn::select_boundary - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc constant"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../../game/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><h2 class="location">Other items in<br><a href="../../index.html">game</a>::<wbr><a href="../index.html">ltn</a>::<wbr><a href="index.html">select_boundary</a></h2><div id="sidebar-vars" data-name="UNSELECTED" data-ty="constant" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Constant <a href="../../index.html">game</a>::<wbr><a href="../index.html">ltn</a>::<wbr><a href="index.html">select_boundary</a>::<wbr><a class="constant" href="#">UNSELECTED</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../../src/game/ltn/select_boundary.rs.html#15" title="goto source code">[src]</a></span></h1><pre class="rust const"><code>const UNSELECTED: Color;</code></pre></section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="game" data-search-index-js="../../../search-index.js" data-search-js="../../../search.js"></div>
<script src="../../../main.js"></script>
</body></html>

View File

@ -0,0 +1,3 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `calculate_frontier` fn in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, calculate_frontier"><title>calculate_frontier in game::ltn::select_boundary - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../../game/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><h2 class="location">Other items in<br><a href="../../index.html">game</a>::<wbr><a href="../index.html">ltn</a>::<wbr><a href="index.html">select_boundary</a></h2><div id="sidebar-vars" data-name="calculate_frontier" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../../index.html">game</a>::<wbr><a href="../index.html">ltn</a>::<wbr><a href="index.html">select_boundary</a>::<wbr><a class="fn" href="#">calculate_frontier</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../../src/game/ltn/select_boundary.rs.html#296-311" title="goto source code">[src]</a></span></h1><pre class="rust fn"><code>fn calculate_frontier(<br>&nbsp;&nbsp;&nbsp;&nbsp;perim: &amp;<a class="struct" href="../../../map_model/objects/block/struct.Perimeter.html" title="struct map_model::objects::block::Perimeter">Perimeter</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;blocks: &amp;<a class="struct" href="https://doc.rust-lang.org/1.57.0/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a>&lt;<a class="struct" href="struct.BlockID.html" title="struct game::ltn::select_boundary::BlockID">BlockID</a>, <a class="struct" href="../../../map_model/objects/block/struct.Block.html" title="struct map_model::objects::block::Block">Block</a>&gt;<br>) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.57.0/alloc/collections/btree/set/struct.BTreeSet.html" title="struct alloc::collections::btree::set::BTreeSet">BTreeSet</a>&lt;<a class="struct" href="struct.BlockID.html" title="struct game::ltn::select_boundary::BlockID">BlockID</a>&gt;</code></pre></section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="game" data-search-index-js="../../../search-index.js" data-search-js="../../../search.js"></div>
<script src="../../../main.js"></script>
</body></html>

View File

@ -1,3 +1,3 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `make_panel` fn in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, make_panel"><title>make_panel in game::ltn::select_boundary - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../../game/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><h2 class="location">Other items in<br><a href="../../index.html">game</a>::<wbr><a href="../index.html">ltn</a>::<wbr><a href="index.html">select_boundary</a></h2><div id="sidebar-vars" data-name="make_panel" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../../index.html">game</a>::<wbr><a href="../index.html">ltn</a>::<wbr><a href="index.html">select_boundary</a>::<wbr><a class="fn" href="#">make_panel</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../../src/game/ltn/select_boundary.rs.html#226-266" title="goto source code">[src]</a></span></h1><pre class="rust fn"><code>fn make_panel(ctx: &amp;mut EventCtx&lt;'_&gt;, app: &amp;<a class="struct" href="../../app/struct.App.html" title="struct game::app::App">App</a>, boundary_ok: <a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.bool.html">bool</a>) -&gt; Panel</code></pre></section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="game" data-search-index-js="../../../search-index.js" data-search-js="../../../search.js"></div>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `make_panel` fn in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, make_panel"><title>make_panel in game::ltn::select_boundary - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../../game/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><h2 class="location">Other items in<br><a href="../../index.html">game</a>::<wbr><a href="../index.html">ltn</a>::<wbr><a href="index.html">select_boundary</a></h2><div id="sidebar-vars" data-name="make_panel" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../../index.html">game</a>::<wbr><a href="../index.html">ltn</a>::<wbr><a href="index.html">select_boundary</a>::<wbr><a class="fn" href="#">make_panel</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../../src/game/ltn/select_boundary.rs.html#254-293" title="goto source code">[src]</a></span></h1><pre class="rust fn"><code>fn make_panel(ctx: &amp;mut EventCtx&lt;'_&gt;, app: &amp;<a class="struct" href="../../app/struct.App.html" title="struct game::app::App">App</a>) -&gt; Panel</code></pre></section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="game" data-search-index-js="../../../search-index.js" data-search-js="../../../search.js"></div>
<script src="../../../main.js"></script>
</body></html>

View File

@ -1,6 +1,6 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `select_boundary` mod in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, select_boundary"><title>game::ltn::select_boundary - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../../game/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><h2 class="location">Module select_boundary</h2><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#constants">Constants</a></li><li><a href="#functions">Functions</a></li></ul></div><div id="sidebar-vars" data-name="select_boundary" data-ty="mod" data-relpath="./"></div><script defer src="./sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">game</a>::<wbr><a href="../index.html">ltn</a>::<wbr><a class="mod" href="#">select_boundary</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../../src/game/ltn/select_boundary.rs.html#1-266" title="goto source code">[src]</a></span></h1><h2 id="structs" class="section-header"><a href="#structs">Structs</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Obj.html" title="game::ltn::select_boundary::Obj struct">Obj</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.SelectBoundary.html" title="game::ltn::select_boundary::SelectBoundary struct">SelectBoundary</a></div><div class="item-right docblock-short"></div></div></div><h2 id="constants" class="section-header"><a href="#constants">Constants</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="constant" href="constant.SELECTED.html" title="game::ltn::select_boundary::SELECTED constant">SELECTED</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="constant" href="constant.UNSELECTED.html" title="game::ltn::select_boundary::UNSELECTED constant">UNSELECTED</a></div><div class="item-right docblock-short"></div></div></div><h2 id="functions" class="section-header"><a href="#functions">Functions</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.make_panel.html" title="game::ltn::select_boundary::make_panel fn">make_panel</a></div><div class="item-right docblock-short"></div></div></div></section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="game" data-search-index-js="../../../search-index.js" data-search-js="../../../search.js"></div>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `select_boundary` mod in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, select_boundary"><title>game::ltn::select_boundary - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../../game/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><h2 class="location">Module select_boundary</h2><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#constants">Constants</a></li><li><a href="#functions">Functions</a></li></ul></div><div id="sidebar-vars" data-name="select_boundary" data-ty="mod" data-relpath="./"></div><script defer src="./sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">game</a>::<wbr><a href="../index.html">ltn</a>::<wbr><a class="mod" href="#">select_boundary</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../../src/game/ltn/select_boundary.rs.html#1-311" title="goto source code">[src]</a></span></h1><h2 id="structs" class="section-header"><a href="#structs">Structs</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.BlockID.html" title="game::ltn::select_boundary::BlockID struct">BlockID</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.SelectBoundary.html" title="game::ltn::select_boundary::SelectBoundary struct">SelectBoundary</a></div><div class="item-right docblock-short"></div></div></div><h2 id="constants" class="section-header"><a href="#constants">Constants</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="constant" href="constant.SELECTED.html" title="game::ltn::select_boundary::SELECTED constant">SELECTED</a></div><div class="item-right docblock-short"></div></div></div><h2 id="functions" class="section-header"><a href="#functions">Functions</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.calculate_frontier.html" title="game::ltn::select_boundary::calculate_frontier fn">calculate_frontier</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.make_panel.html" title="game::ltn::select_boundary::make_panel fn">make_panel</a></div><div class="item-right docblock-short"></div></div></div></section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="game" data-search-index-js="../../../search-index.js" data-search-js="../../../search.js"></div>
<script src="../../../main.js"></script>
</body></html>

View File

@ -1 +1 @@
initSidebarItems({"constant":[["SELECTED",""],["UNSELECTED",""]],"fn":[["make_panel",""]],"struct":[["Obj",""],["SelectBoundary",""]]});
initSidebarItems({"constant":[["SELECTED",""]],"fn":[["calculate_frontier",""],["make_panel",""]],"struct":[["BlockID",""],["SelectBoundary",""]]});

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
initSidebarItems({"fn":[["draw_zoomed_planters",""],["find_cells",""],["floodfill",""]],"mod":[["browse",""],["connectivity",""],["draw_cells",""],["pathfinding",""],["per_neighborhood",""],["rat_run_viewer",""],["rat_runs",""],["select_boundary",""]],"struct":[["Cell","A partitioning of the interior of a neighborhood based on driving connectivity"],["DiagonalFilter","A diagonal filter exists in an intersection. Its defined by two roads (the order is arbitrary). When all of the intersections roads are sorted in clockwise order, this pair of roads splits the ordering into two groups. Turns in each group are still possible, but not across groups."],["DistanceInterval","An interval along a roads length, with start < end."],["ModalFilters",""],["Neighborhood",""]]});
initSidebarItems({"fn":[["draw_zoomed_planters",""],["find_cells",""],["floodfill",""]],"mod":[["browse",""],["connectivity",""],["draw_cells",""],["partition",""],["pathfinding",""],["per_neighborhood",""],["rat_run_viewer",""],["rat_runs",""],["select_boundary",""]],"struct":[["Cell","A partitioning of the interior of a neighborhood based on driving connectivity"],["DiagonalFilter","A diagonal filter exists in an intersection. Its defined by two roads (the order is arbitrary). When all of the intersections roads are sorted in clockwise order, this pair of roads splits the ordering into two groups. Turns in each group are still possible, but not across groups."],["DistanceInterval","An interval along a roads length, with start < end."],["ModalFilters",""],["Neighborhood",""]]});

View File

@ -1,4 +1,4 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A partitioning of the interior of a neighborhood based on driving connectivity"><meta name="keywords" content="rust, rustlang, rust-lang, Cell"><title>Cell in game::ltn - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../game/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><h2 class="location">Struct Cell</h2><div class="sidebar-elems"><div class="block items"><h3 class="sidebar-title"><a href="#fields">Fields</a></h3><div class="sidebar-links"><a href="#structfield.borders">borders</a><a href="#structfield.car_free">car_free</a><a href="#structfield.roads">roads</a></div><h3 class="sidebar-title"><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><h3 class="sidebar-title"><a href="#blanket-implementations">Blanket Implementations</a></h3><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow&lt;T&gt;</a><a href="#impl-BorrowMut%3CT%3E">BorrowMut&lt;T&gt;</a><a href="#impl-Downcast">Downcast</a><a href="#impl-DowncastSync">DowncastSync</a><a href="#impl-From%3CT%3E">From&lt;T&gt;</a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into&lt;U&gt;</a><a href="#impl-Same%3CT%3E">Same&lt;T&gt;</a><a href="#impl-TryFrom%3CU%3E">TryFrom&lt;U&gt;</a><a href="#impl-TryInto%3CU%3E">TryInto&lt;U&gt;</a><a href="#impl-VZip%3CV%3E">VZip&lt;V&gt;</a></div></div><h2 class="location">Other items in<br><a href="../index.html">game</a>::<wbr><a href="index.html">ltn</a></h2><div id="sidebar-vars" data-name="Cell" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../index.html">game</a>::<wbr><a href="index.html">ltn</a>::<wbr><a class="struct" href="#">Cell</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../src/game/ltn/mod.rs.html#84-93" title="goto source code">[src]</a></span></h1><div class="docblock type-decl"><pre class="rust struct"><code>pub struct Cell {
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A partitioning of the interior of a neighborhood based on driving connectivity"><meta name="keywords" content="rust, rustlang, rust-lang, Cell"><title>Cell in game::ltn - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../game/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><h2 class="location">Struct Cell</h2><div class="sidebar-elems"><div class="block items"><h3 class="sidebar-title"><a href="#fields">Fields</a></h3><div class="sidebar-links"><a href="#structfield.borders">borders</a><a href="#structfield.car_free">car_free</a><a href="#structfield.roads">roads</a></div><h3 class="sidebar-title"><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><h3 class="sidebar-title"><a href="#blanket-implementations">Blanket Implementations</a></h3><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow&lt;T&gt;</a><a href="#impl-BorrowMut%3CT%3E">BorrowMut&lt;T&gt;</a><a href="#impl-Downcast">Downcast</a><a href="#impl-DowncastSync">DowncastSync</a><a href="#impl-From%3CT%3E">From&lt;T&gt;</a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into&lt;U&gt;</a><a href="#impl-Same%3CT%3E">Same&lt;T&gt;</a><a href="#impl-TryFrom%3CU%3E">TryFrom&lt;U&gt;</a><a href="#impl-TryInto%3CU%3E">TryInto&lt;U&gt;</a><a href="#impl-VZip%3CV%3E">VZip&lt;V&gt;</a></div></div><h2 class="location">Other items in<br><a href="../index.html">game</a>::<wbr><a href="index.html">ltn</a></h2><div id="sidebar-vars" data-name="Cell" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../index.html">game</a>::<wbr><a href="index.html">ltn</a>::<wbr><a class="struct" href="#">Cell</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../src/game/ltn/mod.rs.html#86-95" title="goto source code">[src]</a></span></h1><div class="docblock type-decl"><pre class="rust struct"><code>pub struct Cell {
pub roads: <a class="struct" href="https://doc.rust-lang.org/1.57.0/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a>&lt;<a class="struct" href="../../map_model/objects/road/struct.RoadID.html" title="struct map_model::objects::road::RoadID">RoadID</a>, <a class="struct" href="struct.DistanceInterval.html" title="struct game::ltn::DistanceInterval">DistanceInterval</a>&gt;,
pub borders: <a class="struct" href="https://doc.rust-lang.org/1.57.0/alloc/collections/btree/set/struct.BTreeSet.html" title="struct alloc::collections::btree::set::BTreeSet">BTreeSet</a>&lt;<a class="struct" href="../../map_model/objects/intersection/struct.IntersectionID.html" title="struct map_model::objects::intersection::IntersectionID">IntersectionID</a>&gt;,
pub car_free: <a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.bool.html">bool</a>,

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An interval along a roads length, with start &lt; end."><meta name="keywords" content="rust, rustlang, rust-lang, DistanceInterval"><title>DistanceInterval in game::ltn - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../game/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><h2 class="location">Struct DistanceInterval</h2><div class="sidebar-elems"><div class="block items"><h3 class="sidebar-title"><a href="#fields">Fields</a></h3><div class="sidebar-links"><a href="#structfield.end">end</a><a href="#structfield.start">start</a></div><h3 class="sidebar-title"><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><h3 class="sidebar-title"><a href="#blanket-implementations">Blanket Implementations</a></h3><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow&lt;T&gt;</a><a href="#impl-BorrowMut%3CT%3E">BorrowMut&lt;T&gt;</a><a href="#impl-Downcast">Downcast</a><a href="#impl-DowncastSync">DowncastSync</a><a href="#impl-From%3CT%3E">From&lt;T&gt;</a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into&lt;U&gt;</a><a href="#impl-Same%3CT%3E">Same&lt;T&gt;</a><a href="#impl-TryFrom%3CU%3E">TryFrom&lt;U&gt;</a><a href="#impl-TryInto%3CU%3E">TryInto&lt;U&gt;</a><a href="#impl-VZip%3CV%3E">VZip&lt;V&gt;</a></div></div><h2 class="location">Other items in<br><a href="../index.html">game</a>::<wbr><a href="index.html">ltn</a></h2><div id="sidebar-vars" data-name="DistanceInterval" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../index.html">game</a>::<wbr><a href="index.html">ltn</a>::<wbr><a class="struct" href="#">DistanceInterval</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../src/game/ltn/mod.rs.html#96-99" title="goto source code">[src]</a></span></h1><div class="docblock type-decl"><pre class="rust struct"><code>pub struct DistanceInterval {
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An interval along a roads length, with start &lt; end."><meta name="keywords" content="rust, rustlang, rust-lang, DistanceInterval"><title>DistanceInterval in game::ltn - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../game/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><h2 class="location">Struct DistanceInterval</h2><div class="sidebar-elems"><div class="block items"><h3 class="sidebar-title"><a href="#fields">Fields</a></h3><div class="sidebar-links"><a href="#structfield.end">end</a><a href="#structfield.start">start</a></div><h3 class="sidebar-title"><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><h3 class="sidebar-title"><a href="#blanket-implementations">Blanket Implementations</a></h3><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow&lt;T&gt;</a><a href="#impl-BorrowMut%3CT%3E">BorrowMut&lt;T&gt;</a><a href="#impl-Downcast">Downcast</a><a href="#impl-DowncastSync">DowncastSync</a><a href="#impl-From%3CT%3E">From&lt;T&gt;</a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into&lt;U&gt;</a><a href="#impl-Same%3CT%3E">Same&lt;T&gt;</a><a href="#impl-TryFrom%3CU%3E">TryFrom&lt;U&gt;</a><a href="#impl-TryInto%3CU%3E">TryInto&lt;U&gt;</a><a href="#impl-VZip%3CV%3E">VZip&lt;V&gt;</a></div></div><h2 class="location">Other items in<br><a href="../index.html">game</a>::<wbr><a href="index.html">ltn</a></h2><div id="sidebar-vars" data-name="DistanceInterval" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../index.html">game</a>::<wbr><a href="index.html">ltn</a>::<wbr><a class="struct" href="#">DistanceInterval</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../src/game/ltn/mod.rs.html#98-101" title="goto source code">[src]</a></span></h1><div class="docblock type-decl"><pre class="rust struct"><code>pub struct DistanceInterval {
pub start: <a class="struct" href="../../geom/distance/struct.Distance.html" title="struct geom::distance::Distance">Distance</a>,
pub end: <a class="struct" href="../../geom/distance/struct.Distance.html" title="struct geom::distance::Distance">Distance</a>,
}</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An interval along a roads length, with start &lt; end.</p>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -2,7 +2,7 @@
implementors["abstio"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"abstio/abst_paths/struct.CityName.html\" title=\"struct abstio::abst_paths::CityName\">CityName</a>","synthetic":false,"types":["abstio::abst_paths::CityName"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"abstio/abst_paths/struct.MapName.html\" title=\"struct abstio::abst_paths::MapName\">MapName</a>","synthetic":false,"types":["abstio::abst_paths::MapName"]}];
implementors["collisions"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"collisions/enum.Severity.html\" title=\"enum collisions::Severity\">Severity</a>","synthetic":false,"types":["collisions::Severity"]}];
implementors["convert_osm"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"convert_osm/gtfs/struct.ShapeID.html\" title=\"struct convert_osm::gtfs::ShapeID\">ShapeID</a>","synthetic":false,"types":["convert_osm::gtfs::ShapeID"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"convert_osm/gtfs/struct.TripID.html\" title=\"struct convert_osm::gtfs::TripID\">TripID</a>","synthetic":false,"types":["convert_osm::gtfs::TripID"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"convert_osm/gtfs/struct.StopID.html\" title=\"struct convert_osm::gtfs::StopID\">StopID</a>","synthetic":false,"types":["convert_osm::gtfs::StopID"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"convert_osm/gtfs/struct.RouteID.html\" title=\"struct convert_osm::gtfs::RouteID\">RouteID</a>","synthetic":false,"types":["convert_osm::gtfs::RouteID"]}];
implementors["game"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"game/common/waypoints/struct.WaypointID.html\" title=\"struct game::common::waypoints::WaypointID\">WaypointID</a>","synthetic":false,"types":["game::common::waypoints::WaypointID"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"game/debug/blockfinder/struct.Obj.html\" title=\"struct game::debug::blockfinder::Obj\">Obj</a>","synthetic":false,"types":["game::debug::blockfinder::Obj"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"game/devtools/polygon/enum.Obj.html\" title=\"enum game::devtools::polygon::Obj\">Obj</a>","synthetic":false,"types":["game::devtools::polygon::Obj"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"game/devtools/story/struct.MarkerID.html\" title=\"struct game::devtools::story::MarkerID\">MarkerID</a>","synthetic":false,"types":["game::devtools::story::MarkerID"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"game/layer/parking/enum.Loc.html\" title=\"enum game::layer::parking::Loc\">Loc</a>","synthetic":false,"types":["game::layer::parking::Loc"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"game/ltn/browse/struct.Obj.html\" title=\"struct game::ltn::browse::Obj\">Obj</a>","synthetic":false,"types":["game::ltn::browse::Obj"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"game/ltn/pathfinding/enum.Obj.html\" title=\"enum game::ltn::pathfinding::Obj\">Obj</a>","synthetic":false,"types":["game::ltn::pathfinding::Obj"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"game/ltn/per_neighborhood/enum.FilterableObj.html\" title=\"enum game::ltn::per_neighborhood::FilterableObj\">FilterableObj</a>","synthetic":false,"types":["game::ltn::per_neighborhood::FilterableObj"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"game/ltn/select_boundary/struct.Obj.html\" title=\"struct game::ltn::select_boundary::Obj\">Obj</a>","synthetic":false,"types":["game::ltn::select_boundary::Obj"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"game/sandbox/gameplay/freeform/area_spawner/struct.Obj.html\" title=\"struct game::sandbox::gameplay::freeform::area_spawner::Obj\">Obj</a>","synthetic":false,"types":["game::sandbox::gameplay::freeform::area_spawner::Obj"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"game/sandbox/gameplay/tutorial/struct.TutorialPointer.html\" title=\"struct game::sandbox::gameplay::tutorial::TutorialPointer\">TutorialPointer</a>","synthetic":false,"types":["game::sandbox::gameplay::tutorial::TutorialPointer"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"game/sandbox/gameplay/enum.GameplayMode.html\" title=\"enum game::sandbox::gameplay::GameplayMode\">GameplayMode</a>","synthetic":false,"types":["game::sandbox::gameplay::GameplayMode"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"game/ungap/trip/enum.ID.html\" title=\"enum game::ungap::trip::ID\">ID</a>","synthetic":false,"types":["game::ungap::trip::ID"]}];
implementors["game"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"game/common/waypoints/struct.WaypointID.html\" title=\"struct game::common::waypoints::WaypointID\">WaypointID</a>","synthetic":false,"types":["game::common::waypoints::WaypointID"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"game/debug/blockfinder/struct.Obj.html\" title=\"struct game::debug::blockfinder::Obj\">Obj</a>","synthetic":false,"types":["game::debug::blockfinder::Obj"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"game/devtools/polygon/enum.Obj.html\" title=\"enum game::devtools::polygon::Obj\">Obj</a>","synthetic":false,"types":["game::devtools::polygon::Obj"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"game/devtools/story/struct.MarkerID.html\" title=\"struct game::devtools::story::MarkerID\">MarkerID</a>","synthetic":false,"types":["game::devtools::story::MarkerID"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"game/layer/parking/enum.Loc.html\" title=\"enum game::layer::parking::Loc\">Loc</a>","synthetic":false,"types":["game::layer::parking::Loc"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"game/ltn/partition/struct.NeighborhoodID.html\" title=\"struct game::ltn::partition::NeighborhoodID\">NeighborhoodID</a>","synthetic":false,"types":["game::ltn::partition::NeighborhoodID"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"game/ltn/pathfinding/enum.Obj.html\" title=\"enum game::ltn::pathfinding::Obj\">Obj</a>","synthetic":false,"types":["game::ltn::pathfinding::Obj"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"game/ltn/per_neighborhood/enum.FilterableObj.html\" title=\"enum game::ltn::per_neighborhood::FilterableObj\">FilterableObj</a>","synthetic":false,"types":["game::ltn::per_neighborhood::FilterableObj"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"game/ltn/select_boundary/struct.BlockID.html\" title=\"struct game::ltn::select_boundary::BlockID\">BlockID</a>","synthetic":false,"types":["game::ltn::select_boundary::BlockID"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"game/sandbox/gameplay/freeform/area_spawner/struct.Obj.html\" title=\"struct game::sandbox::gameplay::freeform::area_spawner::Obj\">Obj</a>","synthetic":false,"types":["game::sandbox::gameplay::freeform::area_spawner::Obj"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"game/sandbox/gameplay/tutorial/struct.TutorialPointer.html\" title=\"struct game::sandbox::gameplay::tutorial::TutorialPointer\">TutorialPointer</a>","synthetic":false,"types":["game::sandbox::gameplay::tutorial::TutorialPointer"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"game/sandbox/gameplay/enum.GameplayMode.html\" title=\"enum game::sandbox::gameplay::GameplayMode\">GameplayMode</a>","synthetic":false,"types":["game::sandbox::gameplay::GameplayMode"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"game/ungap/trip/enum.ID.html\" title=\"enum game::ungap::trip::ID\">ID</a>","synthetic":false,"types":["game::ungap::trip::ID"]}];
implementors["geom"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"geom/distance/struct.Distance.html\" title=\"struct geom::distance::Distance\">Distance</a>","synthetic":false,"types":["geom::distance::Distance"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"geom/duration/struct.Duration.html\" title=\"struct geom::duration::Duration\">Duration</a>","synthetic":false,"types":["geom::duration::Duration"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"geom/gps/struct.LonLat.html\" title=\"struct geom::gps::LonLat\">LonLat</a>","synthetic":false,"types":["geom::gps::LonLat"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"geom/pt/struct.HashablePt2D.html\" title=\"struct geom::pt::HashablePt2D\">HashablePt2D</a>","synthetic":false,"types":["geom::pt::HashablePt2D"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"geom/speed/struct.Speed.html\" title=\"struct geom::speed::Speed\">Speed</a>","synthetic":false,"types":["geom::speed::Speed"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"geom/stats/enum.Statistic.html\" title=\"enum geom::stats::Statistic\">Statistic</a>","synthetic":false,"types":["geom::stats::Statistic"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"geom/time/struct.Time.html\" title=\"struct geom::time::Time\">Time</a>","synthetic":false,"types":["geom::time::Time"]}];
implementors["map_editor"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"map_editor/model/enum.ID.html\" title=\"enum map_editor::model::ID\">ID</a>","synthetic":false,"types":["map_editor::model::ID"]}];
implementors["map_gui"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"map_gui/enum.ID.html\" title=\"enum map_gui::ID\">ID</a>","synthetic":false,"types":["map_gui::ID"]}];

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
(function() {var implementors = {};
implementors["convert_osm"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"convert_osm/gtfs/struct.ShapeID.html\" title=\"struct convert_osm::gtfs::ShapeID\">ShapeID</a>","synthetic":false,"types":["convert_osm::gtfs::ShapeID"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"convert_osm/gtfs/struct.TripID.html\" title=\"struct convert_osm::gtfs::TripID\">TripID</a>","synthetic":false,"types":["convert_osm::gtfs::TripID"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"convert_osm/gtfs/struct.StopID.html\" title=\"struct convert_osm::gtfs::StopID\">StopID</a>","synthetic":false,"types":["convert_osm::gtfs::StopID"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"convert_osm/gtfs/struct.RouteID.html\" title=\"struct convert_osm::gtfs::RouteID\">RouteID</a>","synthetic":false,"types":["convert_osm::gtfs::RouteID"]}];
implementors["game"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"game/common/waypoints/struct.WaypointID.html\" title=\"struct game::common::waypoints::WaypointID\">WaypointID</a>","synthetic":false,"types":["game::common::waypoints::WaypointID"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"game/debug/blockfinder/struct.Obj.html\" title=\"struct game::debug::blockfinder::Obj\">Obj</a>","synthetic":false,"types":["game::debug::blockfinder::Obj"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"enum\" href=\"game/devtools/polygon/enum.Obj.html\" title=\"enum game::devtools::polygon::Obj\">Obj</a>","synthetic":false,"types":["game::devtools::polygon::Obj"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"game/devtools/story/struct.MarkerID.html\" title=\"struct game::devtools::story::MarkerID\">MarkerID</a>","synthetic":false,"types":["game::devtools::story::MarkerID"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"game/ltn/browse/struct.Obj.html\" title=\"struct game::ltn::browse::Obj\">Obj</a>","synthetic":false,"types":["game::ltn::browse::Obj"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"enum\" href=\"game/ltn/pathfinding/enum.Obj.html\" title=\"enum game::ltn::pathfinding::Obj\">Obj</a>","synthetic":false,"types":["game::ltn::pathfinding::Obj"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"enum\" href=\"game/ltn/per_neighborhood/enum.FilterableObj.html\" title=\"enum game::ltn::per_neighborhood::FilterableObj\">FilterableObj</a>","synthetic":false,"types":["game::ltn::per_neighborhood::FilterableObj"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"game/ltn/select_boundary/struct.Obj.html\" title=\"struct game::ltn::select_boundary::Obj\">Obj</a>","synthetic":false,"types":["game::ltn::select_boundary::Obj"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"game/sandbox/gameplay/freeform/area_spawner/struct.Obj.html\" title=\"struct game::sandbox::gameplay::freeform::area_spawner::Obj\">Obj</a>","synthetic":false,"types":["game::sandbox::gameplay::freeform::area_spawner::Obj"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"enum\" href=\"game/ungap/trip/enum.ID.html\" title=\"enum game::ungap::trip::ID\">ID</a>","synthetic":false,"types":["game::ungap::trip::ID"]}];
implementors["game"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"game/common/waypoints/struct.WaypointID.html\" title=\"struct game::common::waypoints::WaypointID\">WaypointID</a>","synthetic":false,"types":["game::common::waypoints::WaypointID"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"game/debug/blockfinder/struct.Obj.html\" title=\"struct game::debug::blockfinder::Obj\">Obj</a>","synthetic":false,"types":["game::debug::blockfinder::Obj"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"enum\" href=\"game/devtools/polygon/enum.Obj.html\" title=\"enum game::devtools::polygon::Obj\">Obj</a>","synthetic":false,"types":["game::devtools::polygon::Obj"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"game/devtools/story/struct.MarkerID.html\" title=\"struct game::devtools::story::MarkerID\">MarkerID</a>","synthetic":false,"types":["game::devtools::story::MarkerID"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"game/ltn/partition/struct.NeighborhoodID.html\" title=\"struct game::ltn::partition::NeighborhoodID\">NeighborhoodID</a>","synthetic":false,"types":["game::ltn::partition::NeighborhoodID"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"enum\" href=\"game/ltn/pathfinding/enum.Obj.html\" title=\"enum game::ltn::pathfinding::Obj\">Obj</a>","synthetic":false,"types":["game::ltn::pathfinding::Obj"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"enum\" href=\"game/ltn/per_neighborhood/enum.FilterableObj.html\" title=\"enum game::ltn::per_neighborhood::FilterableObj\">FilterableObj</a>","synthetic":false,"types":["game::ltn::per_neighborhood::FilterableObj"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"game/ltn/select_boundary/struct.BlockID.html\" title=\"struct game::ltn::select_boundary::BlockID\">BlockID</a>","synthetic":false,"types":["game::ltn::select_boundary::BlockID"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"game/sandbox/gameplay/freeform/area_spawner/struct.Obj.html\" title=\"struct game::sandbox::gameplay::freeform::area_spawner::Obj\">Obj</a>","synthetic":false,"types":["game::sandbox::gameplay::freeform::area_spawner::Obj"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"enum\" href=\"game/ungap/trip/enum.ID.html\" title=\"enum game::ungap::trip::ID\">ID</a>","synthetic":false,"types":["game::ungap::trip::ID"]}];
implementors["geom"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"geom/pt/struct.HashablePt2D.html\" title=\"struct geom::pt::HashablePt2D\">HashablePt2D</a>","synthetic":false,"types":["geom::pt::HashablePt2D"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"geom/time/struct.Time.html\" title=\"struct geom::time::Time\">Time</a>","synthetic":false,"types":["geom::time::Time"]}];
implementors["map_editor"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"enum\" href=\"map_editor/model/enum.ID.html\" title=\"enum map_editor::model::ID\">ID</a>","synthetic":false,"types":["map_editor::model::ID"]}];
implementors["map_gui"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"enum\" href=\"map_gui/enum.ID.html\" title=\"enum map_gui::ID\">ID</a>","synthetic":false,"types":["map_gui::ID"]}];

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -2,7 +2,7 @@
implementors["abstio"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"abstio/abst_paths/struct.CityName.html\" title=\"struct abstio::abst_paths::CityName\">CityName</a>","synthetic":false,"types":["abstio::abst_paths::CityName"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"abstio/abst_paths/struct.MapName.html\" title=\"struct abstio::abst_paths::MapName\">MapName</a>","synthetic":false,"types":["abstio::abst_paths::MapName"]}];
implementors["collisions"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"collisions/enum.Severity.html\" title=\"enum collisions::Severity\">Severity</a>","synthetic":false,"types":["collisions::Severity"]}];
implementors["convert_osm"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"convert_osm/gtfs/struct.ShapeID.html\" title=\"struct convert_osm::gtfs::ShapeID\">ShapeID</a>","synthetic":false,"types":["convert_osm::gtfs::ShapeID"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"convert_osm/gtfs/struct.TripID.html\" title=\"struct convert_osm::gtfs::TripID\">TripID</a>","synthetic":false,"types":["convert_osm::gtfs::TripID"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"convert_osm/gtfs/struct.StopID.html\" title=\"struct convert_osm::gtfs::StopID\">StopID</a>","synthetic":false,"types":["convert_osm::gtfs::StopID"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"convert_osm/gtfs/struct.RouteID.html\" title=\"struct convert_osm::gtfs::RouteID\">RouteID</a>","synthetic":false,"types":["convert_osm::gtfs::RouteID"]}];
implementors["game"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"game/common/waypoints/struct.WaypointID.html\" title=\"struct game::common::waypoints::WaypointID\">WaypointID</a>","synthetic":false,"types":["game::common::waypoints::WaypointID"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"game/debug/blockfinder/struct.Obj.html\" title=\"struct game::debug::blockfinder::Obj\">Obj</a>","synthetic":false,"types":["game::debug::blockfinder::Obj"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"game/devtools/polygon/enum.Obj.html\" title=\"enum game::devtools::polygon::Obj\">Obj</a>","synthetic":false,"types":["game::devtools::polygon::Obj"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"game/devtools/story/struct.MarkerID.html\" title=\"struct game::devtools::story::MarkerID\">MarkerID</a>","synthetic":false,"types":["game::devtools::story::MarkerID"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"game/layer/parking/enum.Loc.html\" title=\"enum game::layer::parking::Loc\">Loc</a>","synthetic":false,"types":["game::layer::parking::Loc"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"game/ltn/browse/struct.Obj.html\" title=\"struct game::ltn::browse::Obj\">Obj</a>","synthetic":false,"types":["game::ltn::browse::Obj"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"game/ltn/pathfinding/enum.Obj.html\" title=\"enum game::ltn::pathfinding::Obj\">Obj</a>","synthetic":false,"types":["game::ltn::pathfinding::Obj"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"game/ltn/per_neighborhood/enum.FilterableObj.html\" title=\"enum game::ltn::per_neighborhood::FilterableObj\">FilterableObj</a>","synthetic":false,"types":["game::ltn::per_neighborhood::FilterableObj"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"game/ltn/select_boundary/struct.Obj.html\" title=\"struct game::ltn::select_boundary::Obj\">Obj</a>","synthetic":false,"types":["game::ltn::select_boundary::Obj"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"game/sandbox/gameplay/freeform/area_spawner/struct.Obj.html\" title=\"struct game::sandbox::gameplay::freeform::area_spawner::Obj\">Obj</a>","synthetic":false,"types":["game::sandbox::gameplay::freeform::area_spawner::Obj"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"game/sandbox/gameplay/tutorial/struct.TutorialPointer.html\" title=\"struct game::sandbox::gameplay::tutorial::TutorialPointer\">TutorialPointer</a>","synthetic":false,"types":["game::sandbox::gameplay::tutorial::TutorialPointer"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"game/sandbox/gameplay/enum.GameplayMode.html\" title=\"enum game::sandbox::gameplay::GameplayMode\">GameplayMode</a>","synthetic":false,"types":["game::sandbox::gameplay::GameplayMode"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"game/ungap/trip/enum.ID.html\" title=\"enum game::ungap::trip::ID\">ID</a>","synthetic":false,"types":["game::ungap::trip::ID"]}];
implementors["game"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"game/common/waypoints/struct.WaypointID.html\" title=\"struct game::common::waypoints::WaypointID\">WaypointID</a>","synthetic":false,"types":["game::common::waypoints::WaypointID"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"game/debug/blockfinder/struct.Obj.html\" title=\"struct game::debug::blockfinder::Obj\">Obj</a>","synthetic":false,"types":["game::debug::blockfinder::Obj"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"game/devtools/polygon/enum.Obj.html\" title=\"enum game::devtools::polygon::Obj\">Obj</a>","synthetic":false,"types":["game::devtools::polygon::Obj"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"game/devtools/story/struct.MarkerID.html\" title=\"struct game::devtools::story::MarkerID\">MarkerID</a>","synthetic":false,"types":["game::devtools::story::MarkerID"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"game/layer/parking/enum.Loc.html\" title=\"enum game::layer::parking::Loc\">Loc</a>","synthetic":false,"types":["game::layer::parking::Loc"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"game/ltn/partition/struct.NeighborhoodID.html\" title=\"struct game::ltn::partition::NeighborhoodID\">NeighborhoodID</a>","synthetic":false,"types":["game::ltn::partition::NeighborhoodID"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"game/ltn/pathfinding/enum.Obj.html\" title=\"enum game::ltn::pathfinding::Obj\">Obj</a>","synthetic":false,"types":["game::ltn::pathfinding::Obj"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"game/ltn/per_neighborhood/enum.FilterableObj.html\" title=\"enum game::ltn::per_neighborhood::FilterableObj\">FilterableObj</a>","synthetic":false,"types":["game::ltn::per_neighborhood::FilterableObj"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"game/ltn/select_boundary/struct.BlockID.html\" title=\"struct game::ltn::select_boundary::BlockID\">BlockID</a>","synthetic":false,"types":["game::ltn::select_boundary::BlockID"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"game/sandbox/gameplay/freeform/area_spawner/struct.Obj.html\" title=\"struct game::sandbox::gameplay::freeform::area_spawner::Obj\">Obj</a>","synthetic":false,"types":["game::sandbox::gameplay::freeform::area_spawner::Obj"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"game/sandbox/gameplay/tutorial/struct.TutorialPointer.html\" title=\"struct game::sandbox::gameplay::tutorial::TutorialPointer\">TutorialPointer</a>","synthetic":false,"types":["game::sandbox::gameplay::tutorial::TutorialPointer"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"game/sandbox/gameplay/enum.GameplayMode.html\" title=\"enum game::sandbox::gameplay::GameplayMode\">GameplayMode</a>","synthetic":false,"types":["game::sandbox::gameplay::GameplayMode"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"game/ungap/trip/enum.ID.html\" title=\"enum game::ungap::trip::ID\">ID</a>","synthetic":false,"types":["game::ungap::trip::ID"]}];
implementors["geom"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"geom/gps/struct.LonLat.html\" title=\"struct geom::gps::LonLat\">LonLat</a>","synthetic":false,"types":["geom::gps::LonLat"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"geom/pt/struct.HashablePt2D.html\" title=\"struct geom::pt::HashablePt2D\">HashablePt2D</a>","synthetic":false,"types":["geom::pt::HashablePt2D"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"geom/stats/enum.Statistic.html\" title=\"enum geom::stats::Statistic\">Statistic</a>","synthetic":false,"types":["geom::stats::Statistic"]}];
implementors["map_editor"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"map_editor/model/enum.ID.html\" title=\"enum map_editor::model::ID\">ID</a>","synthetic":false,"types":["map_editor::model::ID"]}];
implementors["map_gui"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.57.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"map_gui/enum.ID.html\" title=\"enum map_gui::ID\">ID</a>","synthetic":false,"types":["map_gui::ID"]}];

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
(function() {var implementors = {};
implementors["game"] = [{"text":"impl ObjectID for <a class=\"struct\" href=\"game/common/waypoints/struct.WaypointID.html\" title=\"struct game::common::waypoints::WaypointID\">WaypointID</a>","synthetic":false,"types":["game::common::waypoints::WaypointID"]},{"text":"impl ObjectID for <a class=\"struct\" href=\"game/debug/blockfinder/struct.Obj.html\" title=\"struct game::debug::blockfinder::Obj\">Obj</a>","synthetic":false,"types":["game::debug::blockfinder::Obj"]},{"text":"impl ObjectID for <a class=\"enum\" href=\"game/devtools/polygon/enum.Obj.html\" title=\"enum game::devtools::polygon::Obj\">Obj</a>","synthetic":false,"types":["game::devtools::polygon::Obj"]},{"text":"impl ObjectID for <a class=\"struct\" href=\"game/devtools/story/struct.MarkerID.html\" title=\"struct game::devtools::story::MarkerID\">MarkerID</a>","synthetic":false,"types":["game::devtools::story::MarkerID"]},{"text":"impl ObjectID for <a class=\"struct\" href=\"game/ltn/browse/struct.Obj.html\" title=\"struct game::ltn::browse::Obj\">Obj</a>","synthetic":false,"types":["game::ltn::browse::Obj"]},{"text":"impl ObjectID for <a class=\"enum\" href=\"game/ltn/pathfinding/enum.Obj.html\" title=\"enum game::ltn::pathfinding::Obj\">Obj</a>","synthetic":false,"types":["game::ltn::pathfinding::Obj"]},{"text":"impl ObjectID for <a class=\"enum\" href=\"game/ltn/per_neighborhood/enum.FilterableObj.html\" title=\"enum game::ltn::per_neighborhood::FilterableObj\">FilterableObj</a>","synthetic":false,"types":["game::ltn::per_neighborhood::FilterableObj"]},{"text":"impl ObjectID for <a class=\"struct\" href=\"game/ltn/select_boundary/struct.Obj.html\" title=\"struct game::ltn::select_boundary::Obj\">Obj</a>","synthetic":false,"types":["game::ltn::select_boundary::Obj"]},{"text":"impl ObjectID for <a class=\"struct\" href=\"game/sandbox/gameplay/freeform/area_spawner/struct.Obj.html\" title=\"struct game::sandbox::gameplay::freeform::area_spawner::Obj\">Obj</a>","synthetic":false,"types":["game::sandbox::gameplay::freeform::area_spawner::Obj"]},{"text":"impl ObjectID for <a class=\"enum\" href=\"game/ungap/trip/enum.ID.html\" title=\"enum game::ungap::trip::ID\">ID</a>","synthetic":false,"types":["game::ungap::trip::ID"]}];
implementors["game"] = [{"text":"impl ObjectID for <a class=\"struct\" href=\"game/common/waypoints/struct.WaypointID.html\" title=\"struct game::common::waypoints::WaypointID\">WaypointID</a>","synthetic":false,"types":["game::common::waypoints::WaypointID"]},{"text":"impl ObjectID for <a class=\"struct\" href=\"game/debug/blockfinder/struct.Obj.html\" title=\"struct game::debug::blockfinder::Obj\">Obj</a>","synthetic":false,"types":["game::debug::blockfinder::Obj"]},{"text":"impl ObjectID for <a class=\"enum\" href=\"game/devtools/polygon/enum.Obj.html\" title=\"enum game::devtools::polygon::Obj\">Obj</a>","synthetic":false,"types":["game::devtools::polygon::Obj"]},{"text":"impl ObjectID for <a class=\"struct\" href=\"game/devtools/story/struct.MarkerID.html\" title=\"struct game::devtools::story::MarkerID\">MarkerID</a>","synthetic":false,"types":["game::devtools::story::MarkerID"]},{"text":"impl ObjectID for <a class=\"struct\" href=\"game/ltn/partition/struct.NeighborhoodID.html\" title=\"struct game::ltn::partition::NeighborhoodID\">NeighborhoodID</a>","synthetic":false,"types":["game::ltn::partition::NeighborhoodID"]},{"text":"impl ObjectID for <a class=\"enum\" href=\"game/ltn/pathfinding/enum.Obj.html\" title=\"enum game::ltn::pathfinding::Obj\">Obj</a>","synthetic":false,"types":["game::ltn::pathfinding::Obj"]},{"text":"impl ObjectID for <a class=\"enum\" href=\"game/ltn/per_neighborhood/enum.FilterableObj.html\" title=\"enum game::ltn::per_neighborhood::FilterableObj\">FilterableObj</a>","synthetic":false,"types":["game::ltn::per_neighborhood::FilterableObj"]},{"text":"impl ObjectID for <a class=\"struct\" href=\"game/ltn/select_boundary/struct.BlockID.html\" title=\"struct game::ltn::select_boundary::BlockID\">BlockID</a>","synthetic":false,"types":["game::ltn::select_boundary::BlockID"]},{"text":"impl ObjectID for <a class=\"struct\" href=\"game/sandbox/gameplay/freeform/area_spawner/struct.Obj.html\" title=\"struct game::sandbox::gameplay::freeform::area_spawner::Obj\">Obj</a>","synthetic":false,"types":["game::sandbox::gameplay::freeform::area_spawner::Obj"]},{"text":"impl ObjectID for <a class=\"enum\" href=\"game/ungap/trip/enum.ID.html\" title=\"enum game::ungap::trip::ID\">ID</a>","synthetic":false,"types":["game::ungap::trip::ID"]}];
implementors["widgetry"] = [];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()

View File

@ -1,4 +1,4 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="The build time in RFC2822, UTC."><meta name="keywords" content="rust, rustlang, rust-lang, BUILT_TIME_UTC"><title>BUILT_TIME_UTC in map_gui::tools::title_screen::built_info - Rust</title><link rel="stylesheet" type="text/css" href="../../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../../../storage.js"></script><script src="../../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../../../down-arrow.svg");}</style></head><body class="rustdoc constant"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../../../map_gui/index.html'><div class='logo-container rust-logo'><img src='../../../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><h2 class="location">Other items in<br><a href="../../../index.html">map_gui</a>::<wbr><a href="../../index.html">tools</a>::<wbr><a href="../index.html">title_screen</a>::<wbr><a href="index.html">built_info</a></h2><div id="sidebar-vars" data-name="BUILT_TIME_UTC" data-ty="constant" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Constant <a href="../../../index.html">map_gui</a>::<wbr><a href="../../index.html">tools</a>::<wbr><a href="../index.html">title_screen</a>::<wbr><a href="index.html">built_info</a>::<wbr><a class="constant" href="#">BUILT_TIME_UTC</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../../../src/map_gui/home/runner/work/abstreet/abstreet/target/debug/build/map_gui-5b11ba30aa99b1f3/out/built.rs.html#78" title="goto source code">[src]</a></span></h1><pre class="rust const"><code>pub const BUILT_TIME_UTC: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.str.html">str</a> = r&quot;Sat, 01 Jan 2022 18:37:19 +0000&quot;;</code></pre><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The build time in RFC2822, UTC.</p>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="The build time in RFC2822, UTC."><meta name="keywords" content="rust, rustlang, rust-lang, BUILT_TIME_UTC"><title>BUILT_TIME_UTC in map_gui::tools::title_screen::built_info - Rust</title><link rel="stylesheet" type="text/css" href="../../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../../../storage.js"></script><script src="../../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../../../down-arrow.svg");}</style></head><body class="rustdoc constant"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../../../map_gui/index.html'><div class='logo-container rust-logo'><img src='../../../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><h2 class="location">Other items in<br><a href="../../../index.html">map_gui</a>::<wbr><a href="../../index.html">tools</a>::<wbr><a href="../index.html">title_screen</a>::<wbr><a href="index.html">built_info</a></h2><div id="sidebar-vars" data-name="BUILT_TIME_UTC" data-ty="constant" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Constant <a href="../../../index.html">map_gui</a>::<wbr><a href="../../index.html">tools</a>::<wbr><a href="../index.html">title_screen</a>::<wbr><a href="index.html">built_info</a>::<wbr><a class="constant" href="#">BUILT_TIME_UTC</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../../../src/map_gui/home/runner/work/abstreet/abstreet/target/debug/build/map_gui-5b11ba30aa99b1f3/out/built.rs.html#78" title="goto source code">[src]</a></span></h1><pre class="rust const"><code>pub const BUILT_TIME_UTC: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.str.html">str</a> = r&quot;Sun, 02 Jan 2022 17:44:32 +0000&quot;;</code></pre><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The build time in RFC2822, UTC.</p>
</div></details></section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../../../../" data-current-crate="map_gui" data-search-index-js="../../../../search-index.js" data-search-js="../../../../search.js"></div>
<script src="../../../../main.js"></script>
</body></html>

File diff suppressed because one or more lines are too long

View File

@ -5,7 +5,7 @@ sourcesIndex["cli"] = {"name":"","files":["augment_scenario.rs","clip_osm.rs","g
sourcesIndex["collisions"] = {"name":"","files":["lib.rs"]};
sourcesIndex["convert_osm"] = {"name":"","files":["clip.rs","elevation.rs","extract.rs","gtfs.rs","lib.rs","osm_geom.rs","parking.rs","reader.rs","split_ways.rs"]};
sourcesIndex["fifteen_min"] = {"name":"","files":["find_amenities.rs","find_home.rs","isochrone.rs","lib.rs","viewer.rs"]};
sourcesIndex["game"] = {"name":"","dirs":[{"name":"challenges","files":["cutscene.rs","mod.rs","prebake.rs"]},{"name":"common","files":["mod.rs","route_sketcher.rs","select.rs","share.rs","warp.rs","waypoints.rs"]},{"name":"debug","files":["blocked_by.rs","blockfinder.rs","floodfill.rs","mod.rs","objects.rs","path_counter.rs","polygons.rs","routes.rs","select_roads.rs","shared_row.rs","streetmix.rs","uber_turns.rs"]},{"name":"devtools","files":["collisions.rs","destinations.rs","kml.rs","mod.rs","polygon.rs","scenario.rs","story.rs"]},{"name":"edit","dirs":[{"name":"traffic_signals","files":["edits.rs","gmns.rs","mod.rs","offsets.rs","picker.rs","preview.rs"]}],"files":["heuristics.rs","mod.rs","multiple_roads.rs","roads.rs","routes.rs","stop_signs.rs","validate.rs","zones.rs"]},{"name":"info","files":["building.rs","debug.rs","intersection.rs","lane.rs","mod.rs","parking_lot.rs","person.rs","transit.rs","trip.rs"]},{"name":"layer","files":["elevation.rs","favorites.rs","map.rs","mod.rs","pandemic.rs","parking.rs","population.rs","problems.rs","traffic.rs","transit.rs"]},{"name":"ltn","files":["browse.rs","connectivity.rs","draw_cells.rs","mod.rs","pathfinding.rs","per_neighborhood.rs","rat_run_viewer.rs","rat_runs.rs","select_boundary.rs"]},{"name":"pregame","files":["mod.rs","proposals.rs"]},{"name":"sandbox","dirs":[{"name":"dashboards","files":["commuter.rs","generic_trip_table.rs","misc.rs","mod.rs","mode_shift.rs","parking_overhead.rs","risks.rs","selector.rs","traffic_signals.rs","travel_times.rs","trip_problems.rs","trip_table.rs"]},{"name":"gameplay","dirs":[{"name":"freeform","files":["area_spawner.rs","importers.rs","mod.rs","spawner.rs"]}],"files":["actdev.rs","commute.rs","fix_traffic_signals.rs","mod.rs","play_scenario.rs","tutorial.rs"]}],"files":["minimap.rs","misc_tools.rs","mod.rs","speed.rs","time_warp.rs"]},{"name":"ungap","dirs":[{"name":"trip","files":["files.rs","mod.rs","results.rs"]}],"files":["bike_network.rs","explore.rs","layers.rs","mod.rs","predict.rs","quick_sketch.rs"]}],"files":["app.rs","lib.rs"]};
sourcesIndex["game"] = {"name":"","dirs":[{"name":"challenges","files":["cutscene.rs","mod.rs","prebake.rs"]},{"name":"common","files":["mod.rs","route_sketcher.rs","select.rs","share.rs","warp.rs","waypoints.rs"]},{"name":"debug","files":["blocked_by.rs","blockfinder.rs","floodfill.rs","mod.rs","objects.rs","path_counter.rs","polygons.rs","routes.rs","select_roads.rs","shared_row.rs","streetmix.rs","uber_turns.rs"]},{"name":"devtools","files":["collisions.rs","destinations.rs","kml.rs","mod.rs","polygon.rs","scenario.rs","story.rs"]},{"name":"edit","dirs":[{"name":"traffic_signals","files":["edits.rs","gmns.rs","mod.rs","offsets.rs","picker.rs","preview.rs"]}],"files":["heuristics.rs","mod.rs","multiple_roads.rs","roads.rs","routes.rs","stop_signs.rs","validate.rs","zones.rs"]},{"name":"info","files":["building.rs","debug.rs","intersection.rs","lane.rs","mod.rs","parking_lot.rs","person.rs","transit.rs","trip.rs"]},{"name":"layer","files":["elevation.rs","favorites.rs","map.rs","mod.rs","pandemic.rs","parking.rs","population.rs","problems.rs","traffic.rs","transit.rs"]},{"name":"ltn","files":["browse.rs","connectivity.rs","draw_cells.rs","mod.rs","partition.rs","pathfinding.rs","per_neighborhood.rs","rat_run_viewer.rs","rat_runs.rs","select_boundary.rs"]},{"name":"pregame","files":["mod.rs","proposals.rs"]},{"name":"sandbox","dirs":[{"name":"dashboards","files":["commuter.rs","generic_trip_table.rs","misc.rs","mod.rs","mode_shift.rs","parking_overhead.rs","risks.rs","selector.rs","traffic_signals.rs","travel_times.rs","trip_problems.rs","trip_table.rs"]},{"name":"gameplay","dirs":[{"name":"freeform","files":["area_spawner.rs","importers.rs","mod.rs","spawner.rs"]}],"files":["actdev.rs","commute.rs","fix_traffic_signals.rs","mod.rs","play_scenario.rs","tutorial.rs"]}],"files":["minimap.rs","misc_tools.rs","mod.rs","speed.rs","time_warp.rs"]},{"name":"ungap","dirs":[{"name":"trip","files":["files.rs","mod.rs","results.rs"]}],"files":["bike_network.rs","explore.rs","layers.rs","mod.rs","predict.rs","quick_sketch.rs"]}],"files":["app.rs","lib.rs"]};
sourcesIndex["geom"] = {"name":"","files":["angle.rs","bounds.rs","circle.rs","distance.rs","duration.rs","find_closest.rs","gps.rs","lib.rs","line.rs","percent.rs","polygon.rs","polyline.rs","pt.rs","ring.rs","speed.rs","stats.rs","time.rs"]};
sourcesIndex["headless"] = {"name":"","files":["main.rs"]};
sourcesIndex["importer"] = {"name":"","dirs":[{"name":"soundcast","files":["mod.rs","popdat.rs","trips.rs"]}],"files":["berlin.rs","configuration.rs","lib.rs","map_config.rs","pick_geofabrik.rs","seattle.rs","uk.rs","utils.rs"]};

View File

@ -905,6 +905,8 @@
<span id="905">905</span>
<span id="906">906</span>
<span id="907">907</span>
<span id="908">908</span>
<span id="909">909</span>
</pre><pre class="rust"><code><span class="kw">use</span> <span class="ident">std::cell::RefCell</span>;
<span class="kw">use</span> <span class="ident">std::collections::BTreeMap</span>;
@ -1671,6 +1673,7 @@
<span class="kw">pub</span> <span class="ident">mode_shift</span>: <span class="ident">Cached</span><span class="op">&lt;</span>(<span class="ident">MapName</span>, <span class="ident">usize</span>), <span class="ident"><span class="kw">crate</span>::ungap::ModeShiftData</span><span class="op">&gt;</span>,
<span class="comment">// Specific to LTN</span>
<span class="kw">pub</span> <span class="ident">partitioning</span>: <span class="ident"><span class="kw">crate</span>::ltn::Partitioning</span>,
<span class="kw">pub</span> <span class="ident">modal_filters</span>: <span class="ident"><span class="kw">crate</span>::ltn::ModalFilters</span>,
}
@ -1695,6 +1698,7 @@
<span class="ident">ungap_current_trip_name</span>: <span class="prelude-val">None</span>,
<span class="ident">mode_shift</span>: <span class="ident">Cached::new</span>(),
<span class="ident">partitioning</span>: <span class="ident"><span class="kw">crate</span>::ltn::Partitioning::empty</span>(),
<span class="ident">modal_filters</span>: <span class="ident"><span class="kw">crate</span>::ltn::ModalFilters::default</span>(),
}
}

View File

@ -122,71 +122,10 @@
<span id="122">122</span>
<span id="123">123</span>
<span id="124">124</span>
<span id="125">125</span>
<span id="126">126</span>
<span id="127">127</span>
<span id="128">128</span>
<span id="129">129</span>
<span id="130">130</span>
<span id="131">131</span>
<span id="132">132</span>
<span id="133">133</span>
<span id="134">134</span>
<span id="135">135</span>
<span id="136">136</span>
<span id="137">137</span>
<span id="138">138</span>
<span id="139">139</span>
<span id="140">140</span>
<span id="141">141</span>
<span id="142">142</span>
<span id="143">143</span>
<span id="144">144</span>
<span id="145">145</span>
<span id="146">146</span>
<span id="147">147</span>
<span id="148">148</span>
<span id="149">149</span>
<span id="150">150</span>
<span id="151">151</span>
<span id="152">152</span>
<span id="153">153</span>
<span id="154">154</span>
<span id="155">155</span>
<span id="156">156</span>
<span id="157">157</span>
<span id="158">158</span>
<span id="159">159</span>
<span id="160">160</span>
<span id="161">161</span>
<span id="162">162</span>
<span id="163">163</span>
<span id="164">164</span>
<span id="165">165</span>
<span id="166">166</span>
<span id="167">167</span>
<span id="168">168</span>
<span id="169">169</span>
<span id="170">170</span>
<span id="171">171</span>
<span id="172">172</span>
<span id="173">173</span>
<span id="174">174</span>
<span id="175">175</span>
<span id="176">176</span>
<span id="177">177</span>
<span id="178">178</span>
<span id="179">179</span>
<span id="180">180</span>
<span id="181">181</span>
</pre><pre class="rust"><code><span class="kw">use</span> <span class="ident">std::collections::BTreeMap</span>;
<span class="kw">use</span> <span class="ident">abstutil::Timer</span>;
</pre><pre class="rust"><code><span class="kw">use</span> <span class="ident">abstutil::Timer</span>;
<span class="kw">use</span> <span class="ident">geom::Distance</span>;
<span class="kw">use</span> <span class="ident">map_gui::tools</span>::{<span class="ident">CityPicker</span>, <span class="ident">DrawRoadLabels</span>, <span class="ident">Navigator</span>, <span class="ident">URLManager</span>};
<span class="kw">use</span> <span class="ident">map_model::osm::RoadRank</span>;
<span class="kw">use</span> <span class="ident">map_model</span>::{<span class="ident">Block</span>, <span class="ident">Perimeter</span>};
<span class="kw">use</span> <span class="ident">widgetry::mapspace</span>::{<span class="ident">ObjectID</span>, <span class="ident">World</span>, <span class="ident">WorldOutcome</span>};
<span class="kw">use</span> <span class="ident">widgetry::mapspace</span>::{<span class="ident">World</span>, <span class="ident">WorldOutcome</span>};
<span class="kw">use</span> <span class="ident">widgetry</span>::{
<span class="ident">Color</span>, <span class="ident">EventCtx</span>, <span class="ident">GfxCtx</span>, <span class="ident">HorizontalAlignment</span>, <span class="ident">Key</span>, <span class="ident">Outcome</span>, <span class="ident">Panel</span>, <span class="ident">State</span>, <span class="ident">TextExt</span>,
<span class="ident">VerticalAlignment</span>, <span class="ident">Widget</span>,
@ -194,33 +133,19 @@
<span class="kw">use</span> <span class="ident"><span class="kw">super</span>::Neighborhood</span>;
<span class="kw">use</span> <span class="ident"><span class="kw">crate</span>::app</span>::{<span class="ident">App</span>, <span class="ident">Transition</span>};
<span class="kw">use</span> <span class="ident"><span class="kw">crate</span>::ltn::select_boundary::SelectBoundary</span>;
<span class="kw">const</span> <span class="ident">COLORS</span>: [<span class="ident">Color</span>; <span class="number">6</span>] <span class="op">=</span> [
<span class="ident">Color::BLUE</span>,
<span class="ident">Color::YELLOW</span>,
<span class="ident">Color::GREEN</span>,
<span class="ident">Color::PURPLE</span>,
<span class="ident">Color::PINK</span>,
<span class="ident">Color::ORANGE</span>,
];
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Clone</span>, <span class="ident">Copy</span>, <span class="ident">Debug</span>, <span class="ident">PartialEq</span>, <span class="ident">Eq</span>, <span class="ident">PartialOrd</span>, <span class="ident">Ord</span>, <span class="ident">Hash</span>)]</span>
<span class="kw">struct</span> <span class="ident">Obj</span>(<span class="ident">usize</span>);
<span class="kw">impl</span> <span class="ident">ObjectID</span> <span class="kw">for</span> <span class="ident">Obj</span> {}
<span class="kw">use</span> <span class="ident"><span class="kw">crate</span>::ltn::partition</span>::{<span class="ident">NeighborhoodID</span>, <span class="ident">Partitioning</span>};
<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">BrowseNeighborhoods</span> {
<span class="ident">panel</span>: <span class="ident">Panel</span>,
<span class="ident">neighborhoods</span>: <span class="ident">BTreeMap</span><span class="op">&lt;</span><span class="ident">Obj</span>, <span class="ident">Block</span><span class="op">&gt;</span>,
<span class="ident">world</span>: <span class="ident">World</span><span class="op">&lt;</span><span class="ident">Obj</span><span class="op">&gt;</span>,
<span class="ident">world</span>: <span class="ident">World</span><span class="op">&lt;</span><span class="ident">NeighborhoodID</span><span class="op">&gt;</span>,
<span class="ident">labels</span>: <span class="ident">DrawRoadLabels</span>,
}
<span class="kw">impl</span> <span class="ident">BrowseNeighborhoods</span> {
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">new_state</span>(<span class="ident">ctx</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">EventCtx</span>, <span class="ident">app</span>: <span class="kw-2">&amp;</span><span class="ident">App</span>) -&gt; <span class="ident">Box</span><span class="op">&lt;</span><span class="kw">dyn</span> <span class="ident">State</span><span class="op">&lt;</span><span class="ident">App</span><span class="op">&gt;</span><span class="op">&gt;</span> {
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">new_state</span>(<span class="ident">ctx</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">EventCtx</span>, <span class="ident">app</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">App</span>) -&gt; <span class="ident">Box</span><span class="op">&lt;</span><span class="kw">dyn</span> <span class="ident">State</span><span class="op">&lt;</span><span class="ident">App</span><span class="op">&gt;</span><span class="op">&gt;</span> {
<span class="ident">URLManager::update_url_map_name</span>(<span class="ident">app</span>);
<span class="kw">let</span> (<span class="ident">neighborhoods</span>, <span class="ident">world</span>) <span class="op">=</span> <span class="ident">ctx</span>.<span class="ident">loading_screen</span>(<span class="string">&quot;calculate neighborhoods&quot;</span>, <span class="op">|</span><span class="ident">ctx</span>, <span class="ident">timer</span><span class="op">|</span> {
<span class="kw">let</span> <span class="ident">world</span> <span class="op">=</span> <span class="ident">ctx</span>.<span class="ident">loading_screen</span>(<span class="string">&quot;calculate neighborhoods&quot;</span>, <span class="op">|</span><span class="ident">ctx</span>, <span class="ident">timer</span><span class="op">|</span> {
<span class="ident">detect_neighborhoods</span>(<span class="ident">ctx</span>, <span class="ident">app</span>, <span class="ident">timer</span>)
});
@ -235,19 +160,11 @@
.<span class="ident">build_widget</span>(<span class="ident">ctx</span>, <span class="string">&quot;search&quot;</span>)
.<span class="ident">align_right</span>(),
]),
<span class="comment">// TODO Can customize later, these boundaries are just initial suggestions, see here</span>
<span class="comment">// how they&#39;re found...</span>
<span class="ident">ctx</span>.<span class="ident">style</span>()
.<span class="ident">btn_outline</span>
.<span class="ident">text</span>(<span class="string">&quot;Draw custom boundary&quot;</span>)
.<span class="ident">hotkey</span>(<span class="ident">Key::B</span>)
.<span class="ident">build_def</span>(<span class="ident">ctx</span>),
]))
.<span class="ident">aligned</span>(<span class="ident">HorizontalAlignment::Left</span>, <span class="ident">VerticalAlignment::Top</span>)
.<span class="ident">build</span>(<span class="ident">ctx</span>);
<span class="ident">Box::new</span>(<span class="ident">BrowseNeighborhoods</span> {
<span class="ident">panel</span>,
<span class="ident">neighborhoods</span>,
<span class="ident">world</span>,
<span class="ident">labels</span>: <span class="ident">DrawRoadLabels::only_major_roads</span>(),
})
@ -266,13 +183,13 @@
<span class="ident">ctx</span>,
<span class="ident">app</span>,
<span class="ident">Box::new</span>(<span class="op">|</span><span class="ident">ctx</span>, <span class="ident">app</span><span class="op">|</span> {
<span class="comment">// TODO If we leave the LTN tool and change maps elsewhere, this won&#39;t</span>
<span class="comment">// work! Do we have per-map session state?</span>
<span class="ident">app</span>.<span class="ident">session</span>.<span class="ident">partitioning</span> <span class="op">=</span> <span class="ident">Partitioning::empty</span>();
<span class="ident">Transition::Replace</span>(<span class="ident">BrowseNeighborhoods::new_state</span>(<span class="ident">ctx</span>, <span class="ident">app</span>))
}),
));
}
<span class="string">&quot;Draw custom boundary&quot;</span> =&gt; {
<span class="kw">return</span> <span class="ident">Transition::Push</span>(<span class="ident">SelectBoundary::new_state</span>(<span class="ident">ctx</span>, <span class="ident">app</span>, <span class="prelude-val">None</span>));
}
<span class="string">&quot;search&quot;</span> =&gt; {
<span class="kw">return</span> <span class="ident">Transition::Push</span>(<span class="ident">Navigator::new_state</span>(<span class="ident">ctx</span>, <span class="ident">app</span>));
}
@ -284,7 +201,14 @@
<span class="kw">return</span> <span class="ident">Transition::Push</span>(<span class="ident"><span class="kw">super</span>::connectivity::Viewer::new_state</span>(
<span class="ident">ctx</span>,
<span class="ident">app</span>,
<span class="ident">Neighborhood::new</span>(<span class="ident">ctx</span>, <span class="ident">app</span>, <span class="self">self</span>.<span class="ident">neighborhoods</span>[<span class="kw-2">&amp;</span><span class="ident">id</span>].<span class="ident">perimeter</span>.<span class="ident">clone</span>()),
<span class="ident">Neighborhood::new</span>(
<span class="ident">ctx</span>,
<span class="ident">app</span>,
<span class="ident">app</span>.<span class="ident">session</span>.<span class="ident">partitioning</span>.<span class="ident">neighborhoods</span>[<span class="kw-2">&amp;</span><span class="ident">id</span>]
.<span class="number">0</span>
.<span class="ident">perimeter</span>
.<span class="ident">clone</span>(),
),
));
}
@ -302,63 +226,25 @@
<span class="kw">fn</span> <span class="ident">detect_neighborhoods</span>(
<span class="ident">ctx</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">EventCtx</span>,
<span class="ident">app</span>: <span class="kw-2">&amp;</span><span class="ident">App</span>,
<span class="ident">app</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">App</span>,
<span class="ident">timer</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">Timer</span>,
) -&gt; (<span class="ident">BTreeMap</span><span class="op">&lt;</span><span class="ident">Obj</span>, <span class="ident">Block</span><span class="op">&gt;</span>, <span class="ident">World</span><span class="op">&lt;</span><span class="ident">Obj</span><span class="op">&gt;</span>) {
<span class="ident">timer</span>.<span class="ident">start</span>(<span class="string">&quot;find single blocks&quot;</span>);
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">single_blocks</span> <span class="op">=</span> <span class="ident">Perimeter::find_all_single_blocks</span>(<span class="kw-2">&amp;</span><span class="ident">app</span>.<span class="ident">primary</span>.<span class="ident">map</span>);
<span class="comment">// TODO Ew! Expensive! But the merged neighborhoods differ widely from blockfinder if we don&#39;t.</span>
<span class="ident">single_blocks</span>.<span class="ident">retain</span>(<span class="op">|</span><span class="ident">x</span><span class="op">|</span> <span class="ident">x</span>.<span class="ident">clone</span>().<span class="ident">to_block</span>(<span class="kw-2">&amp;</span><span class="ident">app</span>.<span class="ident">primary</span>.<span class="ident">map</span>).<span class="ident">is_ok</span>());
<span class="ident">timer</span>.<span class="ident">stop</span>(<span class="string">&quot;find single blocks&quot;</span>);
<span class="ident">timer</span>.<span class="ident">start</span>(<span class="string">&quot;partition&quot;</span>);
<span class="kw">let</span> <span class="ident">partitions</span> <span class="op">=</span> <span class="ident">Perimeter::partition_by_predicate</span>(<span class="ident">single_blocks</span>, <span class="op">|</span><span class="ident">r</span><span class="op">|</span> {
<span class="comment">// &quot;Interior&quot; roads of a neighborhood aren&#39;t classified as arterial</span>
<span class="kw">let</span> <span class="ident">road</span> <span class="op">=</span> <span class="ident">app</span>.<span class="ident">primary</span>.<span class="ident">map</span>.<span class="ident">get_r</span>(<span class="ident">r</span>);
<span class="ident">road</span>.<span class="ident">get_rank</span>() <span class="op">==</span> <span class="ident">RoadRank::Local</span>
});
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">merged</span> <span class="op">=</span> <span class="ident">Vec::new</span>();
<span class="kw">for</span> <span class="ident">perimeters</span> <span class="kw">in</span> <span class="ident">partitions</span> {
<span class="comment">// If we got more than one result back, merging partially failed. Oh well?</span>
<span class="ident">merged</span>.<span class="ident">extend</span>(<span class="ident">Perimeter::merge_all</span>(<span class="ident">perimeters</span>, <span class="bool-val">false</span>));
}
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">colors</span> <span class="op">=</span> <span class="ident">Perimeter::calculate_coloring</span>(<span class="kw-2">&amp;</span><span class="ident">merged</span>, <span class="ident">COLORS</span>.<span class="ident">len</span>())
.<span class="ident">unwrap_or_else</span>(<span class="op">|</span><span class="op">|</span> (<span class="number">0</span>..<span class="ident">merged</span>.<span class="ident">len</span>()).<span class="ident">collect</span>());
<span class="ident">timer</span>.<span class="ident">stop</span>(<span class="string">&quot;partition&quot;</span>);
<span class="ident">timer</span>.<span class="ident">start_iter</span>(<span class="string">&quot;blockify&quot;</span>, <span class="ident">merged</span>.<span class="ident">len</span>());
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">blocks</span> <span class="op">=</span> <span class="ident">Vec::new</span>();
<span class="kw">for</span> <span class="ident">perimeter</span> <span class="kw">in</span> <span class="ident">merged</span> {
<span class="ident">timer</span>.<span class="ident">next</span>();
<span class="kw">match</span> <span class="ident">perimeter</span>.<span class="ident">to_block</span>(<span class="kw-2">&amp;</span><span class="ident">app</span>.<span class="ident">primary</span>.<span class="ident">map</span>) {
<span class="prelude-val">Ok</span>(<span class="ident">block</span>) =&gt; {
<span class="ident">blocks</span>.<span class="ident">push</span>(<span class="ident">block</span>);
}
<span class="prelude-val">Err</span>(<span class="ident">err</span>) =&gt; {
<span class="macro">warn!</span>(<span class="string">&quot;Failed to make a block from a perimeter: {}&quot;</span>, <span class="ident">err</span>);
<span class="comment">// We assigned a color, so don&#39;t let the indices get out of sync!</span>
<span class="ident">colors</span>.<span class="ident">remove</span>(<span class="ident">blocks</span>.<span class="ident">len</span>());
}
}
) -&gt; <span class="ident">World</span><span class="op">&lt;</span><span class="ident">NeighborhoodID</span><span class="op">&gt;</span> {
<span class="comment">// TODO Or if the map doesn&#39;t match? Do we take care of this in SessionState for anything?!</span>
<span class="kw">if</span> <span class="ident">app</span>.<span class="ident">session</span>.<span class="ident">partitioning</span>.<span class="ident">neighborhoods</span>.<span class="ident">is_empty</span>() {
<span class="ident">app</span>.<span class="ident">session</span>.<span class="ident">partitioning</span> <span class="op">=</span> <span class="ident">Partitioning::seed_using_heuristics</span>(<span class="ident">app</span>, <span class="ident">timer</span>);
}
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">world</span> <span class="op">=</span> <span class="ident">World::bounded</span>(<span class="ident">app</span>.<span class="ident">primary</span>.<span class="ident">map</span>.<span class="ident">get_bounds</span>());
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">neighborhoods</span> <span class="op">=</span> <span class="ident">BTreeMap::new</span>();
<span class="kw">for</span> (<span class="ident">block</span>, <span class="ident">color_idx</span>) <span class="kw">in</span> <span class="ident">blocks</span>.<span class="ident">into_iter</span>().<span class="ident">zip</span>(<span class="ident">colors</span>.<span class="ident">into_iter</span>()) {
<span class="kw">let</span> <span class="ident">id</span> <span class="op">=</span> <span class="ident">Obj</span>(<span class="ident">neighborhoods</span>.<span class="ident">len</span>());
<span class="kw">let</span> <span class="ident">color</span> <span class="op">=</span> <span class="ident">COLORS</span>[<span class="ident">color_idx</span> <span class="op">%</span> <span class="ident">COLORS</span>.<span class="ident">len</span>()];
<span class="kw">for</span> (<span class="ident">id</span>, (<span class="ident">block</span>, <span class="ident">color</span>)) <span class="kw">in</span> <span class="kw-2">&amp;</span><span class="ident">app</span>.<span class="ident">session</span>.<span class="ident">partitioning</span>.<span class="ident">neighborhoods</span> {
<span class="ident">world</span>
.<span class="ident">add</span>(<span class="ident">id</span>)
.<span class="ident">add</span>(<span class="kw-2">*</span><span class="ident">id</span>)
.<span class="ident">hitbox</span>(<span class="ident">block</span>.<span class="ident">polygon</span>.<span class="ident">clone</span>())
.<span class="ident">draw_color</span>(<span class="ident">color</span>.<span class="ident">alpha</span>(<span class="number">0.5</span>))
.<span class="ident">hover_outline</span>(<span class="ident">Color::BLACK</span>, <span class="ident">Distance::meters</span>(<span class="number">5.0</span>))
.<span class="ident">clickable</span>()
.<span class="ident">build</span>(<span class="ident">ctx</span>);
<span class="ident">neighborhoods</span>.<span class="ident">insert</span>(<span class="ident">id</span>, <span class="ident">block</span>);
}
(<span class="ident">neighborhoods</span>, <span class="ident">world</span>)
<span class="ident">world</span>
}
</code></pre></div>
</section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="game" data-search-index-js="../../../search-index.js" data-search-js="../../../search.js"></div>

View File

@ -501,6 +501,8 @@
<span id="501">501</span>
<span id="502">502</span>
<span id="503">503</span>
<span id="504">504</span>
<span id="505">505</span>
</pre><pre class="rust"><code><span class="kw">use</span> <span class="ident">std::collections</span>::{<span class="ident">BTreeMap</span>, <span class="ident">BTreeSet</span>};
<span class="kw">use</span> <span class="ident">maplit::btreeset</span>;
@ -514,10 +516,12 @@
<span class="kw">use</span> <span class="ident"><span class="kw">crate</span>::app::App</span>;
<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">browse::BrowseNeighborhoods</span>;
<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">partition::Partitioning</span>;
<span class="kw">mod</span> <span class="ident">browse</span>;
<span class="kw">mod</span> <span class="ident">connectivity</span>;
<span class="kw">mod</span> <span class="ident">draw_cells</span>;
<span class="kw">mod</span> <span class="ident">partition</span>;
<span class="kw">mod</span> <span class="ident">pathfinding</span>;
<span class="kw">mod</span> <span class="ident">per_neighborhood</span>;
<span class="kw">mod</span> <span class="ident">rat_run_viewer</span>;

View File

@ -0,0 +1,192 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `game&#x2F;src&#x2F;ltn&#x2F;partition.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>partition.rs - source</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../../game/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../../wheel.svg"></a></div></form></nav><section id="main" class="content"><div class="example-wrap"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span id="4"> 4</span>
<span id="5"> 5</span>
<span id="6"> 6</span>
<span id="7"> 7</span>
<span id="8"> 8</span>
<span id="9"> 9</span>
<span id="10">10</span>
<span id="11">11</span>
<span id="12">12</span>
<span id="13">13</span>
<span id="14">14</span>
<span id="15">15</span>
<span id="16">16</span>
<span id="17">17</span>
<span id="18">18</span>
<span id="19">19</span>
<span id="20">20</span>
<span id="21">21</span>
<span id="22">22</span>
<span id="23">23</span>
<span id="24">24</span>
<span id="25">25</span>
<span id="26">26</span>
<span id="27">27</span>
<span id="28">28</span>
<span id="29">29</span>
<span id="30">30</span>
<span id="31">31</span>
<span id="32">32</span>
<span id="33">33</span>
<span id="34">34</span>
<span id="35">35</span>
<span id="36">36</span>
<span id="37">37</span>
<span id="38">38</span>
<span id="39">39</span>
<span id="40">40</span>
<span id="41">41</span>
<span id="42">42</span>
<span id="43">43</span>
<span id="44">44</span>
<span id="45">45</span>
<span id="46">46</span>
<span id="47">47</span>
<span id="48">48</span>
<span id="49">49</span>
<span id="50">50</span>
<span id="51">51</span>
<span id="52">52</span>
<span id="53">53</span>
<span id="54">54</span>
<span id="55">55</span>
<span id="56">56</span>
<span id="57">57</span>
<span id="58">58</span>
<span id="59">59</span>
<span id="60">60</span>
<span id="61">61</span>
<span id="62">62</span>
<span id="63">63</span>
<span id="64">64</span>
<span id="65">65</span>
<span id="66">66</span>
<span id="67">67</span>
<span id="68">68</span>
<span id="69">69</span>
<span id="70">70</span>
<span id="71">71</span>
<span id="72">72</span>
<span id="73">73</span>
<span id="74">74</span>
<span id="75">75</span>
<span id="76">76</span>
<span id="77">77</span>
<span id="78">78</span>
<span id="79">79</span>
<span id="80">80</span>
<span id="81">81</span>
<span id="82">82</span>
<span id="83">83</span>
<span id="84">84</span>
<span id="85">85</span>
<span id="86">86</span>
<span id="87">87</span>
<span id="88">88</span>
<span id="89">89</span>
<span id="90">90</span>
<span id="91">91</span>
<span id="92">92</span>
<span id="93">93</span>
<span id="94">94</span>
</pre><pre class="rust"><code><span class="kw">use</span> <span class="ident">std::collections::BTreeMap</span>;
<span class="kw">use</span> <span class="ident">abstutil::Timer</span>;
<span class="kw">use</span> <span class="ident">map_model::osm::RoadRank</span>;
<span class="kw">use</span> <span class="ident">map_model</span>::{<span class="ident">Block</span>, <span class="ident">Perimeter</span>};
<span class="kw">use</span> <span class="ident">widgetry::Color</span>;
<span class="kw">use</span> <span class="ident"><span class="kw">crate</span>::app::App</span>;
<span class="kw">const</span> <span class="ident">COLORS</span>: [<span class="ident">Color</span>; <span class="number">6</span>] <span class="op">=</span> [
<span class="ident">Color::BLUE</span>,
<span class="ident">Color::YELLOW</span>,
<span class="ident">Color::GREEN</span>,
<span class="ident">Color::PURPLE</span>,
<span class="ident">Color::PINK</span>,
<span class="ident">Color::ORANGE</span>,
];
<span class="doccomment">/// An opaque ID, won&#39;t be contiguous as we adjust boundaries</span>
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Clone</span>, <span class="ident">Copy</span>, <span class="ident">Debug</span>, <span class="ident">PartialEq</span>, <span class="ident">Eq</span>, <span class="ident">PartialOrd</span>, <span class="ident">Ord</span>, <span class="ident">Hash</span>)]</span>
<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">NeighborhoodID</span>(<span class="ident">usize</span>);
<span class="comment">// Some states want this</span>
<span class="kw">impl</span> <span class="ident">widgetry::mapspace::ObjectID</span> <span class="kw">for</span> <span class="ident">NeighborhoodID</span> {}
<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">Partitioning</span> {
<span class="kw">pub</span> <span class="ident">neighborhoods</span>: <span class="ident">BTreeMap</span><span class="op">&lt;</span><span class="ident">NeighborhoodID</span>, (<span class="ident">Block</span>, <span class="ident">Color</span>)<span class="op">&gt;</span>,
}
<span class="kw">impl</span> <span class="ident">Partitioning</span> {
<span class="doccomment">/// Only valid before the LTN tool has been activated this session</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">empty</span>() -&gt; <span class="ident">Partitioning</span> {
<span class="ident">Partitioning</span> {
<span class="ident">neighborhoods</span>: <span class="ident">BTreeMap::new</span>(),
}
}
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">seed_using_heuristics</span>(<span class="ident">app</span>: <span class="kw-2">&amp;</span><span class="ident">App</span>, <span class="ident">timer</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">Timer</span>) -&gt; <span class="ident">Partitioning</span> {
<span class="kw">let</span> <span class="ident">map</span> <span class="op">=</span> <span class="kw-2">&amp;</span><span class="ident">app</span>.<span class="ident">primary</span>.<span class="ident">map</span>;
<span class="ident">timer</span>.<span class="ident">start</span>(<span class="string">&quot;find single blocks&quot;</span>);
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">single_blocks</span> <span class="op">=</span> <span class="ident">Perimeter::find_all_single_blocks</span>(<span class="ident">map</span>);
<span class="comment">// TODO Ew! Expensive! But the merged neighborhoods differ widely from blockfinder if we don&#39;t.</span>
<span class="ident">single_blocks</span>.<span class="ident">retain</span>(<span class="op">|</span><span class="ident">x</span><span class="op">|</span> <span class="ident">x</span>.<span class="ident">clone</span>().<span class="ident">to_block</span>(<span class="ident">map</span>).<span class="ident">is_ok</span>());
<span class="ident">timer</span>.<span class="ident">stop</span>(<span class="string">&quot;find single blocks&quot;</span>);
<span class="ident">timer</span>.<span class="ident">start</span>(<span class="string">&quot;partition&quot;</span>);
<span class="kw">let</span> <span class="ident">partitions</span> <span class="op">=</span> <span class="ident">Perimeter::partition_by_predicate</span>(<span class="ident">single_blocks</span>, <span class="op">|</span><span class="ident">r</span><span class="op">|</span> {
<span class="comment">// &quot;Interior&quot; roads of a neighborhood aren&#39;t classified as arterial</span>
<span class="ident">map</span>.<span class="ident">get_r</span>(<span class="ident">r</span>).<span class="ident">get_rank</span>() <span class="op">==</span> <span class="ident">RoadRank::Local</span>
});
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">merged</span> <span class="op">=</span> <span class="ident">Vec::new</span>();
<span class="kw">for</span> <span class="ident">perimeters</span> <span class="kw">in</span> <span class="ident">partitions</span> {
<span class="comment">// If we got more than one result back, merging partially failed. Oh well?</span>
<span class="ident">merged</span>.<span class="ident">extend</span>(<span class="ident">Perimeter::merge_all</span>(<span class="ident">perimeters</span>, <span class="bool-val">false</span>));
}
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">colors</span> <span class="op">=</span> <span class="ident">Perimeter::calculate_coloring</span>(<span class="kw-2">&amp;</span><span class="ident">merged</span>, <span class="ident">COLORS</span>.<span class="ident">len</span>())
.<span class="ident">unwrap_or_else</span>(<span class="op">|</span><span class="op">|</span> (<span class="number">0</span>..<span class="ident">merged</span>.<span class="ident">len</span>()).<span class="ident">collect</span>());
<span class="ident">timer</span>.<span class="ident">stop</span>(<span class="string">&quot;partition&quot;</span>);
<span class="ident">timer</span>.<span class="ident">start_iter</span>(<span class="string">&quot;blockify&quot;</span>, <span class="ident">merged</span>.<span class="ident">len</span>());
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">blocks</span> <span class="op">=</span> <span class="ident">Vec::new</span>();
<span class="kw">for</span> <span class="ident">perimeter</span> <span class="kw">in</span> <span class="ident">merged</span> {
<span class="ident">timer</span>.<span class="ident">next</span>();
<span class="kw">match</span> <span class="ident">perimeter</span>.<span class="ident">to_block</span>(<span class="ident">map</span>) {
<span class="prelude-val">Ok</span>(<span class="ident">block</span>) =&gt; {
<span class="ident">blocks</span>.<span class="ident">push</span>(<span class="ident">block</span>);
}
<span class="prelude-val">Err</span>(<span class="ident">err</span>) =&gt; {
<span class="macro">warn!</span>(<span class="string">&quot;Failed to make a block from a perimeter: {}&quot;</span>, <span class="ident">err</span>);
<span class="comment">// We assigned a color, so don&#39;t let the indices get out of sync!</span>
<span class="ident">colors</span>.<span class="ident">remove</span>(<span class="ident">blocks</span>.<span class="ident">len</span>());
}
}
}
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">neighborhoods</span> <span class="op">=</span> <span class="ident">BTreeMap::new</span>();
<span class="kw">for</span> (<span class="ident">block</span>, <span class="ident">color_idx</span>) <span class="kw">in</span> <span class="ident">blocks</span>.<span class="ident">into_iter</span>().<span class="ident">zip</span>(<span class="ident">colors</span>.<span class="ident">into_iter</span>()) {
<span class="kw">let</span> <span class="ident">color</span> <span class="op">=</span> <span class="ident">COLORS</span>[<span class="ident">color_idx</span> <span class="op">%</span> <span class="ident">COLORS</span>.<span class="ident">len</span>()];
<span class="ident">neighborhoods</span>.<span class="ident">insert</span>(<span class="ident">NeighborhoodID</span>(<span class="ident">neighborhoods</span>.<span class="ident">len</span>()), (<span class="ident">block</span>, <span class="ident">color</span>));
}
<span class="ident">Partitioning</span> { <span class="ident">neighborhoods</span> }
}
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">neighborhood_containing</span>(<span class="kw-2">&amp;</span><span class="self">self</span>, <span class="ident">find_block</span>: <span class="kw-2">&amp;</span><span class="ident">Block</span>) -&gt; <span class="ident">NeighborhoodID</span> {
<span class="comment">// TODO We could probably build this mapping up when we do Perimeter::merge_all</span>
<span class="kw">for</span> (<span class="ident">id</span>, (<span class="ident">block</span>, <span class="kw">_</span>)) <span class="kw">in</span> <span class="kw-2">&amp;</span><span class="self">self</span>.<span class="ident">neighborhoods</span> {
<span class="kw">if</span> <span class="ident">block</span>.<span class="ident">perimeter</span>.<span class="ident">contains</span>(<span class="kw-2">&amp;</span><span class="ident">find_block</span>.<span class="ident">perimeter</span>) {
<span class="kw">return</span> <span class="kw-2">*</span><span class="ident">id</span>;
}
}
<span class="macro">panic!</span>(<span class="string">&quot;Can&#39;t find neighborhood containing some block&quot;</span>);
}
}
</code></pre></div>
</section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="game" data-search-index-js="../../../search-index.js" data-search-js="../../../search.js"></div>
<script src="../../../main.js"></script><script src="../../../source-script.js"></script><script src="../../../source-files.js"></script>
</body></html>

View File

@ -229,6 +229,10 @@
<span id="229">229</span>
<span id="230">230</span>
<span id="231">231</span>
<span id="232">232</span>
<span id="233">233</span>
<span id="234">234</span>
<span id="235">235</span>
</pre><pre class="rust"><code><span class="kw">use</span> <span class="ident">geom::Distance</span>;
<span class="kw">use</span> <span class="ident">map_gui::tools::CityPicker</span>;
<span class="kw">use</span> <span class="ident">map_model</span>::{<span class="ident">IntersectionID</span>, <span class="ident">PathConstraints</span>, <span class="ident">RoadID</span>};
@ -240,6 +244,7 @@
<span class="kw">use</span> <span class="kw">super</span>::{<span class="ident">BrowseNeighborhoods</span>, <span class="ident">DiagonalFilter</span>, <span class="ident">Neighborhood</span>};
<span class="kw">use</span> <span class="ident"><span class="kw">crate</span>::app</span>::{<span class="ident">App</span>, <span class="ident">Transition</span>};
<span class="kw">use</span> <span class="ident"><span class="kw">crate</span>::ltn::partition::Partitioning</span>;
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">PartialEq</span>)]</span>
<span class="kw">pub</span> <span class="kw">enum</span> <span class="ident">Tab</span> {
@ -291,7 +296,10 @@
<span class="string">&quot;change map&quot;</span> =&gt; <span class="ident">Transition::Push</span>(<span class="ident">CityPicker::new_state</span>(
<span class="ident">ctx</span>,
<span class="ident">app</span>,
<span class="ident">Box::new</span>(<span class="op">|</span><span class="ident">ctx</span>, <span class="ident">app</span><span class="op">|</span> <span class="ident">Transition::Replace</span>(<span class="ident">BrowseNeighborhoods::new_state</span>(<span class="ident">ctx</span>, <span class="ident">app</span>))),
<span class="ident">Box::new</span>(<span class="op">|</span><span class="ident">ctx</span>, <span class="ident">app</span><span class="op">|</span> {
<span class="ident">app</span>.<span class="ident">session</span>.<span class="ident">partitioning</span> <span class="op">=</span> <span class="ident">Partitioning::empty</span>();
<span class="ident">Transition::Replace</span>(<span class="ident">BrowseNeighborhoods::new_state</span>(<span class="ident">ctx</span>, <span class="ident">app</span>))
}),
)),
<span class="string">&quot;Browse neighborhoods&quot;</span> =&gt; <span class="ident">Transition::Pop</span>,
<span class="string">&quot;Adjust boundary&quot;</span> =&gt; <span class="ident">Transition::ConsumeState</span>(<span class="ident">Box::new</span>(<span class="op">|</span><span class="ident">state</span>, <span class="ident">ctx</span>, <span class="ident">app</span><span class="op">|</span> {
@ -299,7 +307,7 @@
<span class="macro">vec!</span>[<span class="ident"><span class="kw">super</span>::select_boundary::SelectBoundary::new_state</span>(
<span class="ident">ctx</span>,
<span class="ident">app</span>,
<span class="prelude-val">Some</span>(<span class="ident">state</span>.<span class="ident">take_neighborhood</span>().<span class="ident">orig_perimeter</span>),
<span class="ident">state</span>.<span class="ident">take_neighborhood</span>().<span class="ident">orig_perimeter</span>,
)]
})),
<span class="string">&quot;Connectivity&quot;</span> =&gt; <span class="ident">Transition::ConsumeState</span>(<span class="ident">Box::new</span>(<span class="op">|</span><span class="ident">state</span>, <span class="ident">ctx</span>, <span class="ident">app</span><span class="op">|</span> {

View File

@ -264,10 +264,55 @@
<span id="264">264</span>
<span id="265">265</span>
<span id="266">266</span>
<span id="267">267</span>
<span id="268">268</span>
<span id="269">269</span>
<span id="270">270</span>
<span id="271">271</span>
<span id="272">272</span>
<span id="273">273</span>
<span id="274">274</span>
<span id="275">275</span>
<span id="276">276</span>
<span id="277">277</span>
<span id="278">278</span>
<span id="279">279</span>
<span id="280">280</span>
<span id="281">281</span>
<span id="282">282</span>
<span id="283">283</span>
<span id="284">284</span>
<span id="285">285</span>
<span id="286">286</span>
<span id="287">287</span>
<span id="288">288</span>
<span id="289">289</span>
<span id="290">290</span>
<span id="291">291</span>
<span id="292">292</span>
<span id="293">293</span>
<span id="294">294</span>
<span id="295">295</span>
<span id="296">296</span>
<span id="297">297</span>
<span id="298">298</span>
<span id="299">299</span>
<span id="300">300</span>
<span id="301">301</span>
<span id="302">302</span>
<span id="303">303</span>
<span id="304">304</span>
<span id="305">305</span>
<span id="306">306</span>
<span id="307">307</span>
<span id="308">308</span>
<span id="309">309</span>
<span id="310">310</span>
<span id="311">311</span>
</pre><pre class="rust"><code><span class="kw">use</span> <span class="ident">std::collections</span>::{<span class="ident">BTreeMap</span>, <span class="ident">BTreeSet</span>};
<span class="kw">use</span> <span class="ident">geom::Distance</span>;
<span class="kw">use</span> <span class="ident">map_model</span>::{<span class="ident">Block</span>, <span class="ident">Perimeter</span>};
<span class="kw">use</span> <span class="ident">map_model</span>::{<span class="ident">Block</span>, <span class="ident">Perimeter</span>, <span class="ident">RoadID</span>};
<span class="kw">use</span> <span class="ident">widgetry::mapspace::ToggleZoomed</span>;
<span class="kw">use</span> <span class="ident">widgetry::mapspace</span>::{<span class="ident">ObjectID</span>, <span class="ident">World</span>, <span class="ident">WorldOutcome</span>};
<span class="kw">use</span> <span class="ident">widgetry</span>::{
@ -276,37 +321,42 @@
};
<span class="kw">use</span> <span class="ident"><span class="kw">crate</span>::app</span>::{<span class="ident">App</span>, <span class="ident">Transition</span>};
<span class="kw">use</span> <span class="ident"><span class="kw">crate</span>::ltn::partition::NeighborhoodID</span>;
<span class="kw">use</span> <span class="ident"><span class="kw">crate</span>::ltn::Neighborhood</span>;
<span class="kw">const</span> <span class="ident">UNSELECTED</span>: <span class="ident">Color</span> <span class="op">=</span> <span class="ident">Color::BLUE</span>;
<span class="kw">const</span> <span class="ident">SELECTED</span>: <span class="ident">Color</span> <span class="op">=</span> <span class="ident">Color::CYAN</span>;
<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">SelectBoundary</span> {
<span class="ident">panel</span>: <span class="ident">Panel</span>,
<span class="ident">id_counter</span>: <span class="ident">usize</span>,
<span class="ident">blocks</span>: <span class="ident">BTreeMap</span><span class="op">&lt;</span><span class="ident">Obj</span>, <span class="ident">Block</span><span class="op">&gt;</span>,
<span class="ident">world</span>: <span class="ident">World</span><span class="op">&lt;</span><span class="ident">Obj</span><span class="op">&gt;</span>,
<span class="ident">selected</span>: <span class="ident">BTreeSet</span><span class="op">&lt;</span><span class="ident">Obj</span><span class="op">&gt;</span>,
<span class="comment">// These are always single, unmerged blocks. Thus, these blocks never change -- only their</span>
<span class="comment">// color and assignment to a neighborhood.</span>
<span class="ident">blocks</span>: <span class="ident">BTreeMap</span><span class="op">&lt;</span><span class="ident">BlockID</span>, <span class="ident">Block</span><span class="op">&gt;</span>,
<span class="ident">world</span>: <span class="ident">World</span><span class="op">&lt;</span><span class="ident">BlockID</span><span class="op">&gt;</span>,
<span class="ident">selected</span>: <span class="ident">BTreeSet</span><span class="op">&lt;</span><span class="ident">BlockID</span><span class="op">&gt;</span>,
<span class="ident">draw_outline</span>: <span class="ident">ToggleZoomed</span>,
<span class="ident">block_to_neighborhood</span>: <span class="ident">BTreeMap</span><span class="op">&lt;</span><span class="ident">BlockID</span>, <span class="ident">NeighborhoodID</span><span class="op">&gt;</span>,
<span class="ident">frontier</span>: <span class="ident">BTreeSet</span><span class="op">&lt;</span><span class="ident">BlockID</span><span class="op">&gt;</span>,
}
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Clone</span>, <span class="ident">Copy</span>, <span class="ident">Debug</span>, <span class="ident">PartialEq</span>, <span class="ident">Eq</span>, <span class="ident">PartialOrd</span>, <span class="ident">Ord</span>, <span class="ident">Hash</span>)]</span>
<span class="kw">struct</span> <span class="ident">Obj</span>(<span class="ident">usize</span>);
<span class="kw">impl</span> <span class="ident">ObjectID</span> <span class="kw">for</span> <span class="ident">Obj</span> {}
<span class="kw">struct</span> <span class="ident">BlockID</span>(<span class="ident">usize</span>);
<span class="kw">impl</span> <span class="ident">ObjectID</span> <span class="kw">for</span> <span class="ident">BlockID</span> {}
<span class="kw">impl</span> <span class="ident">SelectBoundary</span> {
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">new_state</span>(
<span class="ident">ctx</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">EventCtx</span>,
<span class="ident">app</span>: <span class="kw-2">&amp;</span><span class="ident">App</span>,
<span class="ident">initial_boundary</span>: <span class="prelude-ty">Option</span><span class="op">&lt;</span><span class="ident">Perimeter</span><span class="op">&gt;</span>,
<span class="comment">// TODO Take NeighborhoodID?</span>
<span class="ident">initial_boundary</span>: <span class="ident">Perimeter</span>,
) -&gt; <span class="ident">Box</span><span class="op">&lt;</span><span class="kw">dyn</span> <span class="ident">State</span><span class="op">&lt;</span><span class="ident">App</span><span class="op">&gt;</span><span class="op">&gt;</span> {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">state</span> <span class="op">=</span> <span class="ident">SelectBoundary</span> {
<span class="ident">panel</span>: <span class="ident">make_panel</span>(<span class="ident">ctx</span>, <span class="ident">app</span>, <span class="bool-val">false</span>),
<span class="ident">id_counter</span>: <span class="number">0</span>,
<span class="ident">panel</span>: <span class="ident">make_panel</span>(<span class="ident">ctx</span>, <span class="ident">app</span>),
<span class="ident">blocks</span>: <span class="ident">BTreeMap::new</span>(),
<span class="ident">world</span>: <span class="ident">World::bounded</span>(<span class="ident">app</span>.<span class="ident">primary</span>.<span class="ident">map</span>.<span class="ident">get_bounds</span>()),
<span class="ident">selected</span>: <span class="ident">BTreeSet::new</span>(),
<span class="ident">draw_outline</span>: <span class="ident">ToggleZoomed::empty</span>(<span class="ident">ctx</span>),
<span class="ident">block_to_neighborhood</span>: <span class="ident">BTreeMap::new</span>(),
<span class="ident">frontier</span>: <span class="ident">BTreeSet::new</span>(),
};
<span class="ident">ctx</span>.<span class="ident">loading_screen</span>(<span class="string">&quot;calculate all blocks&quot;</span>, <span class="op">|</span><span class="ident">ctx</span>, <span class="ident">timer</span><span class="op">|</span> {
@ -314,63 +364,78 @@
<span class="kw">let</span> <span class="ident">perimeters</span> <span class="op">=</span> <span class="ident">Perimeter::find_all_single_blocks</span>(<span class="kw-2">&amp;</span><span class="ident">app</span>.<span class="ident">primary</span>.<span class="ident">map</span>);
<span class="ident">timer</span>.<span class="ident">stop</span>(<span class="string">&quot;find single blocks&quot;</span>);
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">blocks</span> <span class="op">=</span> <span class="ident">Vec::new</span>();
<span class="ident">timer</span>.<span class="ident">start_iter</span>(<span class="string">&quot;blockify&quot;</span>, <span class="ident">perimeters</span>.<span class="ident">len</span>());
<span class="kw">for</span> <span class="ident">perimeter</span> <span class="kw">in</span> <span class="ident">perimeters</span> {
<span class="ident">timer</span>.<span class="ident">next</span>();
<span class="kw">match</span> <span class="ident">perimeter</span>.<span class="ident">to_block</span>(<span class="kw-2">&amp;</span><span class="ident">app</span>.<span class="ident">primary</span>.<span class="ident">map</span>) {
<span class="prelude-val">Ok</span>(<span class="ident">block</span>) =&gt; {
<span class="kw">let</span> <span class="ident">id</span> <span class="op">=</span> <span class="ident">state</span>.<span class="ident">new_id</span>();
<span class="ident">state</span>.<span class="ident">add_block</span>(<span class="ident">ctx</span>, <span class="ident">id</span>, <span class="ident">UNSELECTED</span>, <span class="ident">block</span>);
<span class="ident">blocks</span>.<span class="ident">push</span>(<span class="ident">block</span>);
}
<span class="prelude-val">Err</span>(<span class="ident">err</span>) =&gt; {
<span class="macro">warn!</span>(<span class="string">&quot;Failed to make a block from a perimeter: {}&quot;</span>, <span class="ident">err</span>);
}
}
}
});
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">perimeter</span>) <span class="op">=</span> <span class="ident">initial_boundary</span> {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">included</span> <span class="op">=</span> <span class="ident">Vec::new</span>();
<span class="kw">for</span> (<span class="ident">id</span>, <span class="ident">block</span>) <span class="kw">in</span> <span class="kw-2">&amp;</span><span class="ident">state</span>.<span class="ident">blocks</span> {
<span class="kw">if</span> <span class="ident">perimeter</span>.<span class="ident">contains</span>(<span class="kw-2">&amp;</span><span class="ident">block</span>.<span class="ident">perimeter</span>) {
<span class="ident">included</span>.<span class="ident">push</span>(<span class="kw-2">*</span><span class="ident">id</span>);
<span class="kw">for</span> (<span class="ident">idx</span>, <span class="ident">block</span>) <span class="kw">in</span> <span class="ident">blocks</span>.<span class="ident">into_iter</span>().<span class="ident">enumerate</span>() {
<span class="kw">let</span> <span class="ident">id</span> <span class="op">=</span> <span class="ident">BlockID</span>(<span class="ident">idx</span>);
<span class="kw">let</span> <span class="ident">neighborhood</span> <span class="op">=</span> <span class="ident">app</span>.<span class="ident">session</span>.<span class="ident">partitioning</span>.<span class="ident">neighborhood_containing</span>(<span class="kw-2">&amp;</span><span class="ident">block</span>);
<span class="ident">state</span>.<span class="ident">block_to_neighborhood</span>.<span class="ident">insert</span>(<span class="ident">id</span>, <span class="ident">neighborhood</span>);
<span class="kw">if</span> <span class="ident">initial_boundary</span>.<span class="ident">contains</span>(<span class="kw-2">&amp;</span><span class="ident">block</span>.<span class="ident">perimeter</span>) {
<span class="ident">state</span>.<span class="ident">selected</span>.<span class="ident">insert</span>(<span class="ident">id</span>);
}
<span class="ident">state</span>.<span class="ident">blocks</span>.<span class="ident">insert</span>(<span class="ident">id</span>, <span class="ident">block</span>);
}
<span class="kw">for</span> <span class="ident">id</span> <span class="kw">in</span> <span class="ident">included</span> {
<span class="ident">state</span>.<span class="ident">selected</span>.<span class="ident">insert</span>(<span class="ident">id</span>);
<span class="ident">state</span>.<span class="ident">block_changed</span>(<span class="ident">ctx</span>, <span class="ident">app</span>, <span class="ident">id</span>);
<span class="ident">state</span>.<span class="ident">frontier</span> <span class="op">=</span> <span class="ident">calculate_frontier</span>(<span class="kw-2">&amp;</span><span class="ident">initial_boundary</span>, <span class="kw-2">&amp;</span><span class="ident">state</span>.<span class="ident">blocks</span>);
<span class="comment">// Fill out the world initially</span>
<span class="kw">for</span> <span class="ident">id</span> <span class="kw">in</span> <span class="ident">state</span>.<span class="ident">blocks</span>.<span class="ident">keys</span>().<span class="ident">cloned</span>().<span class="ident">collect</span>::<span class="op">&lt;</span><span class="ident">Vec</span><span class="op">&lt;</span><span class="kw">_</span><span class="op">&gt;</span><span class="op">&gt;</span>() {
<span class="ident">state</span>.<span class="ident">add_block</span>(<span class="ident">ctx</span>, <span class="ident">app</span>, <span class="ident">id</span>);
}
}
});
<span class="ident">state</span>.<span class="ident">world</span>.<span class="ident">initialize_hover</span>(<span class="ident">ctx</span>);
<span class="ident">Box::new</span>(<span class="ident">state</span>)
}
<span class="kw">fn</span> <span class="ident">new_id</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>) -&gt; <span class="ident">Obj</span> {
<span class="kw">let</span> <span class="ident">id</span> <span class="op">=</span> <span class="ident">Obj</span>(<span class="self">self</span>.<span class="ident">id_counter</span>);
<span class="self">self</span>.<span class="ident">id_counter</span> <span class="op">+</span><span class="op">=</span> <span class="number">1</span>;
<span class="ident">id</span>
}
<span class="kw">fn</span> <span class="ident">add_block</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">ctx</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">EventCtx</span>, <span class="ident">id</span>: <span class="ident">Obj</span>, <span class="ident">color</span>: <span class="ident">Color</span>, <span class="ident">block</span>: <span class="ident">Block</span>) {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">obj</span> <span class="op">=</span> <span class="self">self</span>
.<span class="ident">world</span>
.<span class="ident">add</span>(<span class="ident">id</span>)
.<span class="ident">hitbox</span>(<span class="ident">block</span>.<span class="ident">polygon</span>.<span class="ident">clone</span>())
.<span class="ident">draw_color</span>(<span class="ident">color</span>.<span class="ident">alpha</span>(<span class="number">0.5</span>))
.<span class="ident">hover_alpha</span>(<span class="number">0.8</span>)
.<span class="ident">clickable</span>();
<span class="kw">if</span> <span class="self">self</span>.<span class="ident">selected</span>.<span class="ident">contains</span>(<span class="kw-2">&amp;</span><span class="ident">id</span>) {
<span class="ident">obj</span> <span class="op">=</span> <span class="ident">obj</span>
.<span class="ident">hotkey</span>(<span class="ident">Key::Space</span>, <span class="string">&quot;remove&quot;</span>)
.<span class="ident">hotkey</span>(<span class="ident">Key::LeftShift</span>, <span class="string">&quot;remove&quot;</span>)
<span class="kw">fn</span> <span class="ident">add_block</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">ctx</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">EventCtx</span>, <span class="ident">app</span>: <span class="kw-2">&amp;</span><span class="ident">App</span>, <span class="ident">id</span>: <span class="ident">BlockID</span>) {
<span class="kw">let</span> <span class="ident">color</span> <span class="op">=</span> <span class="kw">if</span> <span class="self">self</span>.<span class="ident">selected</span>.<span class="ident">contains</span>(<span class="kw-2">&amp;</span><span class="ident">id</span>) {
<span class="ident">SELECTED</span>
} <span class="kw">else</span> {
<span class="ident">obj</span> <span class="op">=</span> <span class="ident">obj</span>
.<span class="ident">hotkey</span>(<span class="ident">Key::Space</span>, <span class="string">&quot;add&quot;</span>)
.<span class="ident">hotkey</span>(<span class="ident">Key::LeftControl</span>, <span class="string">&quot;add&quot;</span>)
<span class="comment">// Use the original color. This assumes the partitioning has been updated, of</span>
<span class="comment">// course</span>
<span class="kw">let</span> <span class="ident">neighborhood</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">block_to_neighborhood</span>[<span class="kw-2">&amp;</span><span class="ident">id</span>];
<span class="ident">app</span>.<span class="ident">session</span>.<span class="ident">partitioning</span>.<span class="ident">neighborhoods</span>[<span class="kw-2">&amp;</span><span class="ident">neighborhood</span>].<span class="number">1</span>
};
<span class="kw">if</span> <span class="self">self</span>.<span class="ident">frontier</span>.<span class="ident">contains</span>(<span class="kw-2">&amp;</span><span class="ident">id</span>) {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">obj</span> <span class="op">=</span> <span class="self">self</span>
.<span class="ident">world</span>
.<span class="ident">add</span>(<span class="ident">id</span>)
.<span class="ident">hitbox</span>(<span class="self">self</span>.<span class="ident">blocks</span>[<span class="kw-2">&amp;</span><span class="ident">id</span>].<span class="ident">polygon</span>.<span class="ident">clone</span>())
.<span class="ident">draw_color</span>(<span class="ident">color</span>.<span class="ident">alpha</span>(<span class="number">0.5</span>))
.<span class="ident">hover_alpha</span>(<span class="number">0.8</span>)
.<span class="ident">clickable</span>();
<span class="kw">if</span> <span class="self">self</span>.<span class="ident">selected</span>.<span class="ident">contains</span>(<span class="kw-2">&amp;</span><span class="ident">id</span>) {
<span class="ident">obj</span> <span class="op">=</span> <span class="ident">obj</span>
.<span class="ident">hotkey</span>(<span class="ident">Key::Space</span>, <span class="string">&quot;remove&quot;</span>)
.<span class="ident">hotkey</span>(<span class="ident">Key::LeftShift</span>, <span class="string">&quot;remove&quot;</span>)
} <span class="kw">else</span> {
<span class="ident">obj</span> <span class="op">=</span> <span class="ident">obj</span>
.<span class="ident">hotkey</span>(<span class="ident">Key::Space</span>, <span class="string">&quot;add&quot;</span>)
.<span class="ident">hotkey</span>(<span class="ident">Key::LeftControl</span>, <span class="string">&quot;add&quot;</span>)
}
<span class="ident">obj</span>.<span class="ident">build</span>(<span class="ident">ctx</span>);
} <span class="kw">else</span> {
<span class="comment">// If we can&#39;t immediately add/remove the block, fade it out and don&#39;t allow clicking</span>
<span class="comment">// it</span>
<span class="self">self</span>.<span class="ident">world</span>
.<span class="ident">add</span>(<span class="ident">id</span>)
.<span class="ident">hitbox</span>(<span class="self">self</span>.<span class="ident">blocks</span>[<span class="kw-2">&amp;</span><span class="ident">id</span>].<span class="ident">polygon</span>.<span class="ident">clone</span>())
.<span class="ident">draw_color</span>(<span class="ident">color</span>.<span class="ident">alpha</span>(<span class="number">0.3</span>))
.<span class="ident">build</span>(<span class="ident">ctx</span>);
}
<span class="ident">obj</span>.<span class="ident">build</span>(<span class="ident">ctx</span>);
<span class="self">self</span>.<span class="ident">blocks</span>.<span class="ident">insert</span>(<span class="ident">id</span>, <span class="ident">block</span>);
}
<span class="kw">fn</span> <span class="ident">merge_selected</span>(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; <span class="ident">Vec</span><span class="op">&lt;</span><span class="ident">Perimeter</span><span class="op">&gt;</span> {
@ -381,45 +446,52 @@
<span class="ident">Perimeter::merge_all</span>(<span class="ident">perimeters</span>, <span class="bool-val">false</span>)
}
<span class="kw">fn</span> <span class="ident">block_changed</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">ctx</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">EventCtx</span>, <span class="ident">app</span>: <span class="kw-2">&amp;</span><span class="ident">App</span>, <span class="ident">id</span>: <span class="ident">Obj</span>) {
<span class="kw">let</span> <span class="ident">block</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">blocks</span>.<span class="ident">remove</span>(<span class="kw-2">&amp;</span><span class="ident">id</span>).<span class="ident">unwrap</span>();
<span class="self">self</span>.<span class="ident">world</span>.<span class="ident">delete_before_replacement</span>(<span class="ident">id</span>);
<span class="self">self</span>.<span class="ident">add_block</span>(
<span class="ident">ctx</span>,
<span class="ident">id</span>,
<span class="comment">// This block was in the previous frontier; its inclusion in self.selected has changed.</span>
<span class="kw">fn</span> <span class="ident">block_changed</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">ctx</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">EventCtx</span>, <span class="ident">app</span>: <span class="kw-2">&amp;</span><span class="ident">App</span>, <span class="ident">id</span>: <span class="ident">BlockID</span>) {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">perimeters</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">merge_selected</span>();
<span class="kw">if</span> <span class="ident">perimeters</span>.<span class="ident">len</span>() <span class="op">!</span><span class="op">=</span> <span class="number">1</span> {
<span class="comment">// We split the current neighborhood in two.</span>
<span class="comment">// TODO Figure out how to handle this. For now, don&#39;t allow and revert</span>
<span class="kw">if</span> <span class="self">self</span>.<span class="ident">selected</span>.<span class="ident">contains</span>(<span class="kw-2">&amp;</span><span class="ident">id</span>) {
<span class="ident">SELECTED</span>
<span class="self">self</span>.<span class="ident">selected</span>.<span class="ident">remove</span>(<span class="kw-2">&amp;</span><span class="ident">id</span>);
} <span class="kw">else</span> {
<span class="ident">UNSELECTED</span>
},
<span class="ident">block</span>,
);
<span class="self">self</span>.<span class="ident">selected</span>.<span class="ident">insert</span>(<span class="ident">id</span>);
}
<span class="kw">let</span> <span class="ident">label</span> <span class="op">=</span>
<span class="string">&quot;Splitting this neighborhood in two is currently unsupported&quot;</span>.<span class="ident">text_widget</span>(<span class="ident">ctx</span>);
<span class="self">self</span>.<span class="ident">panel</span>.<span class="ident">replace</span>(<span class="ident">ctx</span>, <span class="string">&quot;warning&quot;</span>, <span class="ident">label</span>);
<span class="kw">return</span>;
}
<span class="kw">let</span> <span class="ident">old_frontier</span> <span class="op">=</span> <span class="ident">std::mem::take</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>.<span class="ident">frontier</span>);
<span class="kw">let</span> <span class="ident">new_perimeter</span> <span class="op">=</span> <span class="ident">perimeters</span>.<span class="ident">pop</span>().<span class="ident">unwrap</span>();
<span class="self">self</span>.<span class="ident">frontier</span> <span class="op">=</span> <span class="ident">calculate_frontier</span>(<span class="kw-2">&amp;</span><span class="ident">new_perimeter</span>, <span class="kw-2">&amp;</span><span class="self">self</span>.<span class="ident">blocks</span>);
<span class="comment">// Redraw all of the blocks that changed</span>
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">changed_blocks</span>: <span class="ident">Vec</span><span class="op">&lt;</span><span class="ident">BlockID</span><span class="op">&gt;</span> <span class="op">=</span> <span class="ident">old_frontier</span>
.<span class="ident">symmetric_difference</span>(<span class="kw-2">&amp;</span><span class="self">self</span>.<span class="ident">frontier</span>)
.<span class="ident">cloned</span>()
.<span class="ident">collect</span>();
<span class="comment">// And always the current block</span>
<span class="ident">changed_blocks</span>.<span class="ident">push</span>(<span class="ident">id</span>);
<span class="kw">for</span> <span class="ident">changed</span> <span class="kw">in</span> <span class="ident">changed_blocks</span> {
<span class="self">self</span>.<span class="ident">world</span>.<span class="ident">delete_before_replacement</span>(<span class="ident">changed</span>);
<span class="self">self</span>.<span class="ident">add_block</span>(<span class="ident">ctx</span>, <span class="ident">app</span>, <span class="ident">changed</span>);
}
<span class="comment">// Draw the outline of the current blocks</span>
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">valid_blocks</span> <span class="op">=</span> <span class="number">0</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">batch</span> <span class="op">=</span> <span class="ident">ToggleZoomed::builder</span>();
<span class="kw">for</span> <span class="ident">perimeter</span> <span class="kw">in</span> <span class="self">self</span>.<span class="ident">merge_selected</span>() {
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Ok</span>(<span class="ident">block</span>) <span class="op">=</span> <span class="ident">perimeter</span>.<span class="ident">to_block</span>(<span class="kw-2">&amp;</span><span class="ident">app</span>.<span class="ident">primary</span>.<span class="ident">map</span>) {
<span class="comment">// Alternate colors, to help people figure out where two disjoint boundaries exist</span>
<span class="comment">// TODO Ideally have more than 2 colors to cycle through</span>
<span class="kw">let</span> <span class="ident">color</span> <span class="op">=</span> <span class="kw">if</span> <span class="ident">valid_blocks</span> <span class="op">%</span> <span class="number">2</span> <span class="op">==</span> <span class="number">0</span> {
<span class="ident">Color::RED</span>
} <span class="kw">else</span> {
<span class="ident">Color::GREEN</span>
};
<span class="ident">valid_blocks</span> <span class="op">+</span><span class="op">=</span> <span class="number">1</span>;
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Ok</span>(<span class="ident">outline</span>) <span class="op">=</span> <span class="ident">block</span>.<span class="ident">polygon</span>.<span class="ident">to_outline</span>(<span class="ident">Distance::meters</span>(<span class="number">10.0</span>)) {
<span class="ident">batch</span>.<span class="ident">unzoomed</span>.<span class="ident">push</span>(<span class="ident">color</span>, <span class="ident">outline</span>);
}
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Ok</span>(<span class="ident">outline</span>) <span class="op">=</span> <span class="ident">block</span>.<span class="ident">polygon</span>.<span class="ident">to_outline</span>(<span class="ident">Distance::meters</span>(<span class="number">5.0</span>)) {
<span class="ident">batch</span>.<span class="ident">zoomed</span>.<span class="ident">push</span>(<span class="ident">color</span>.<span class="ident">alpha</span>(<span class="number">0.5</span>), <span class="ident">outline</span>);
}
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Ok</span>(<span class="ident">block</span>) <span class="op">=</span> <span class="ident">new_perimeter</span>.<span class="ident">to_block</span>(<span class="kw-2">&amp;</span><span class="ident">app</span>.<span class="ident">primary</span>.<span class="ident">map</span>) {
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Ok</span>(<span class="ident">outline</span>) <span class="op">=</span> <span class="ident">block</span>.<span class="ident">polygon</span>.<span class="ident">to_outline</span>(<span class="ident">Distance::meters</span>(<span class="number">10.0</span>)) {
<span class="ident">batch</span>.<span class="ident">unzoomed</span>.<span class="ident">push</span>(<span class="ident">Color::RED</span>, <span class="ident">outline</span>);
}
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Ok</span>(<span class="ident">outline</span>) <span class="op">=</span> <span class="ident">block</span>.<span class="ident">polygon</span>.<span class="ident">to_outline</span>(<span class="ident">Distance::meters</span>(<span class="number">5.0</span>)) {
<span class="ident">batch</span>.<span class="ident">zoomed</span>.<span class="ident">push</span>(<span class="ident">Color::RED</span>.<span class="ident">alpha</span>(<span class="number">0.5</span>), <span class="ident">outline</span>);
}
}
<span class="comment">// TODO If this fails, maybe also revert</span>
<span class="self">self</span>.<span class="ident">draw_outline</span> <span class="op">=</span> <span class="ident">batch</span>.<span class="ident">build</span>(<span class="ident">ctx</span>);
<span class="self">self</span>.<span class="ident">panel</span> <span class="op">=</span> <span class="ident">make_panel</span>(<span class="ident">ctx</span>, <span class="ident">app</span>, <span class="ident">valid_blocks</span> <span class="op">==</span> <span class="number">1</span>);
<span class="self">self</span>.<span class="ident">panel</span> <span class="op">=</span> <span class="ident">make_panel</span>(<span class="ident">ctx</span>, <span class="ident">app</span>);
}
}
@ -433,6 +505,7 @@
<span class="string">&quot;Confirm&quot;</span> =&gt; {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">perimeters</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">merge_selected</span>();
<span class="macro">assert_eq!</span>(<span class="ident">perimeters</span>.<span class="ident">len</span>(), <span class="number">1</span>);
<span class="comment">// TODO Persist the partitioning</span>
<span class="kw">return</span> <span class="ident">Transition::Replace</span>(<span class="ident"><span class="kw">super</span>::connectivity::Viewer::new_state</span>(
<span class="ident">ctx</span>,
<span class="ident">app</span>,
@ -446,11 +519,11 @@
<span class="kw">match</span> <span class="self">self</span>.<span class="ident">world</span>.<span class="ident">event</span>(<span class="ident">ctx</span>) {
<span class="ident">WorldOutcome::Keypress</span>(<span class="string">&quot;add&quot;</span>, <span class="ident">id</span>) =&gt; {
<span class="self">self</span>.<span class="ident">selected</span>.<span class="ident">insert</span>(<span class="ident">id</span>);
<span class="self">self</span>.<span class="ident">block_changed</span>(<span class="ident">ctx</span>, <span class="ident">app</span>, <span class="ident">id</span>);
<span class="self">self</span>.<span class="ident">block_changed</span>(<span class="ident">ctx</span>, <span class="ident">app</span>, <span class="ident">id</span>)
}
<span class="ident">WorldOutcome::Keypress</span>(<span class="string">&quot;remove&quot;</span>, <span class="ident">id</span>) =&gt; {
<span class="self">self</span>.<span class="ident">selected</span>.<span class="ident">remove</span>(<span class="kw-2">&amp;</span><span class="ident">id</span>);
<span class="self">self</span>.<span class="ident">block_changed</span>(<span class="ident">ctx</span>, <span class="ident">app</span>, <span class="ident">id</span>);
<span class="self">self</span>.<span class="ident">block_changed</span>(<span class="ident">ctx</span>, <span class="ident">app</span>, <span class="ident">id</span>)
}
<span class="ident">WorldOutcome::ClickedObject</span>(<span class="ident">id</span>) =&gt; {
<span class="kw">if</span> <span class="self">self</span>.<span class="ident">selected</span>.<span class="ident">contains</span>(<span class="kw-2">&amp;</span><span class="ident">id</span>) {
@ -458,7 +531,7 @@
} <span class="kw">else</span> {
<span class="self">self</span>.<span class="ident">selected</span>.<span class="ident">insert</span>(<span class="ident">id</span>);
}
<span class="self">self</span>.<span class="ident">block_changed</span>(<span class="ident">ctx</span>, <span class="ident">app</span>, <span class="ident">id</span>);
<span class="self">self</span>.<span class="ident">block_changed</span>(<span class="ident">ctx</span>, <span class="ident">app</span>, <span class="ident">id</span>)
}
<span class="kw">_</span> =&gt; {}
}
@ -489,7 +562,7 @@
}
}
<span class="kw">fn</span> <span class="ident">make_panel</span>(<span class="ident">ctx</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">EventCtx</span>, <span class="ident">app</span>: <span class="kw-2">&amp;</span><span class="ident">App</span>, <span class="ident">boundary_ok</span>: <span class="ident">bool</span>) -&gt; <span class="ident">Panel</span> {
<span class="kw">fn</span> <span class="ident">make_panel</span>(<span class="ident">ctx</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">EventCtx</span>, <span class="ident">app</span>: <span class="kw-2">&amp;</span><span class="ident">App</span>) -&gt; <span class="ident">Panel</span> {
<span class="ident">Panel::new_builder</span>(<span class="ident">Widget::col</span>(<span class="macro">vec!</span>[
<span class="ident">map_gui::tools::app_header</span>(<span class="ident">ctx</span>, <span class="ident">app</span>, <span class="string">&quot;Low traffic neighborhoods&quot;</span>),
<span class="string">&quot;Draw a custom boundary for a neighborhood&quot;</span>
@ -517,8 +590,6 @@
.<span class="ident">btn_solid_primary</span>
.<span class="ident">text</span>(<span class="string">&quot;Confirm&quot;</span>)
.<span class="ident">hotkey</span>(<span class="ident">Key::Enter</span>)
.<span class="ident">disabled</span>(<span class="op">!</span><span class="ident">boundary_ok</span>)
.<span class="ident">disabled_tooltip</span>(<span class="string">&quot;You must select one contiguous boundary&quot;</span>)
.<span class="ident">build_def</span>(<span class="ident">ctx</span>),
<span class="ident">ctx</span>.<span class="ident">style</span>()
.<span class="ident">btn_solid_destructive</span>
@ -526,10 +597,29 @@
.<span class="ident">hotkey</span>(<span class="ident">Key::Escape</span>)
.<span class="ident">build_def</span>(<span class="ident">ctx</span>),
]),
<span class="ident">Text::new</span>().<span class="ident">into_widget</span>(<span class="ident">ctx</span>).<span class="ident">named</span>(<span class="string">&quot;warning&quot;</span>),
]))
.<span class="ident">aligned</span>(<span class="ident">HorizontalAlignment::Left</span>, <span class="ident">VerticalAlignment::Top</span>)
.<span class="ident">build</span>(<span class="ident">ctx</span>)
}
<span class="comment">// Blocks on the &quot;frontier&quot; are adjacent to the perimeter, either just inside or outside.</span>
<span class="kw">fn</span> <span class="ident">calculate_frontier</span>(<span class="ident">perim</span>: <span class="kw-2">&amp;</span><span class="ident">Perimeter</span>, <span class="ident">blocks</span>: <span class="kw-2">&amp;</span><span class="ident">BTreeMap</span><span class="op">&lt;</span><span class="ident">BlockID</span>, <span class="ident">Block</span><span class="op">&gt;</span>) -&gt; <span class="ident">BTreeSet</span><span class="op">&lt;</span><span class="ident">BlockID</span><span class="op">&gt;</span> {
<span class="kw">let</span> <span class="ident">perim_roads</span>: <span class="ident">BTreeSet</span><span class="op">&lt;</span><span class="ident">RoadID</span><span class="op">&gt;</span> <span class="op">=</span> <span class="ident">perim</span>.<span class="ident">roads</span>.<span class="ident">iter</span>().<span class="ident">map</span>(<span class="op">|</span><span class="ident">id</span><span class="op">|</span> <span class="ident">id</span>.<span class="ident">road</span>).<span class="ident">collect</span>();
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">frontier</span> <span class="op">=</span> <span class="ident">BTreeSet::new</span>();
<span class="kw">for</span> (<span class="ident">block_id</span>, <span class="ident">block</span>) <span class="kw">in</span> <span class="ident">blocks</span> {
<span class="kw">for</span> <span class="ident">road_side_id</span> <span class="kw">in</span> <span class="kw-2">&amp;</span><span class="ident">block</span>.<span class="ident">perimeter</span>.<span class="ident">roads</span> {
<span class="comment">// If the perimeter has this RoadSideID on the same side, we&#39;re just inside. If it has</span>
<span class="comment">// the other side, just on the outside. Either way, on the frontier.</span>
<span class="kw">if</span> <span class="ident">perim_roads</span>.<span class="ident">contains</span>(<span class="kw-2">&amp;</span><span class="ident">road_side_id</span>.<span class="ident">road</span>) {
<span class="ident">frontier</span>.<span class="ident">insert</span>(<span class="kw-2">*</span><span class="ident">block_id</span>);
<span class="kw">break</span>;
}
}
}
<span class="ident">frontier</span>
}
</code></pre></div>
</section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="game" data-search-index-js="../../../search-index.js" data-search-js="../../../search.js"></div>
<script src="../../../main.js"></script><script src="../../../source-script.js"></script><script src="../../../source-files.js"></script>

View File

@ -174,7 +174,7 @@
<span class="kw">pub</span> <span class="kw">const</span> <span class="ident">RUSTDOC_VERSION</span>: <span class="kw-2">&amp;</span><span class="ident">str</span> <span class="op">=</span> <span class="string">r&quot;rustdoc 1.57.0 (f1edd0429 2021-11-29)&quot;</span>;
<span class="attribute">#[<span class="ident">doc</span><span class="op">=</span><span class="string">r#&quot;The build time in RFC2822, UTC.&quot;#</span>]</span>
<span class="attribute">#[<span class="ident">allow</span>(<span class="ident">dead_code</span>)]</span>
<span class="kw">pub</span> <span class="kw">const</span> <span class="ident">BUILT_TIME_UTC</span>: <span class="kw-2">&amp;</span><span class="ident">str</span> <span class="op">=</span> <span class="string">r&quot;Sat, 01 Jan 2022 18:37:19 +0000&quot;</span>;
<span class="kw">pub</span> <span class="kw">const</span> <span class="ident">BUILT_TIME_UTC</span>: <span class="kw-2">&amp;</span><span class="ident">str</span> <span class="op">=</span> <span class="string">r&quot;Sun, 02 Jan 2022 17:44:32 +0000&quot;</span>;
<span class="attribute">#[<span class="ident">doc</span><span class="op">=</span><span class="string">r#&quot;The target architecture, given by `CARGO_CFG_TARGET_ARCH`.&quot;#</span>]</span>
<span class="attribute">#[<span class="ident">allow</span>(<span class="ident">dead_code</span>)]</span>
<span class="kw">pub</span> <span class="kw">const</span> <span class="ident">CFG_TARGET_ARCH</span>: <span class="kw-2">&amp;</span><span class="ident">str</span> <span class="op">=</span> <span class="string">r&quot;x86_64&quot;</span>;