maplibre-rs/docs/api/maplibre/render/view_state/struct.ViewState.html

94 lines
55 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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 `ViewState` struct in crate `maplibre`."><title>ViewState in maplibre::render::view_state - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-cb6f1f67f1bcd037.css" id="mainThemeStyle"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="maplibre" data-themes="" data-resource-suffix="" data-rustdoc-version="1.73.0 (cc66ad468 2023-10-03)" data-channel="1.73.0" data-search-js="search-6dfdfced5eff6596.js" data-settings-js="settings-de11bff964e9d4e5.js" data-settings-css="settings-8c76f75bfb6bd192.css" data-theme-light-css="light-1596385f77d47ef2.css" data-theme-dark-css="dark-0a43001d3fc2282c.css" data-theme-ayu-css="ayu-fd19013d6ce078bf.css" ><script src="../../../static.files/storage-db41da1a38ea3cb8.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-0795b7d26be81095.js"></script><noscript><link rel="stylesheet" media="(prefers-color-scheme:light)" href="../../../static.files/light-1596385f77d47ef2.css"><link rel="stylesheet" media="(prefers-color-scheme:dark)" href="../../../static.files/dark-0a43001d3fc2282c.css"><link rel="stylesheet" href="../../../static.files/noscript-cffde32267a19fd6.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></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="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../../maplibre/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2></h2></nav><nav class="sidebar"><a class="logo-container" href="../../../maplibre/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">ViewState</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block"><li><a href="#structfield.camera">camera</a></li><li><a href="#structfield.edge_insets">edge_insets</a></li><li><a href="#structfield.height">height</a></li><li><a href="#structfield.perspective">perspective</a></li><li><a href="#structfield.width">width</a></li><li><a href="#structfield.zoom">zoom</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block"><li><a href="#method.camera">camera</a></li><li><a href="#method.camera_mut">camera_mut</a></li><li><a href="#method.camera_to_center_distance">camera_to_center_distance</a></li><li><a href="#method.clip_to_window">clip_to_window</a></li><li><a href="#method.clip_to_window_transform">clip_to_window_transform</a></li><li><a href="#method.clip_to_window_vulkan">clip_to_window_vulkan</a></li><li><a href="#method.create_view_region">create_view_region</a></li><li><a href="#method.did_camera_change">did_camera_change</a></li><li><a href="#method.did_zoom_change">did_zoom_change</a></li><li><a href="#method.edge_insets">edge_insets</a></li><li><a href="#method.furthest_distance">furthest_distance</a></li><li><a href="#method.get_intersection_time">get_intersection_time</a></li><li><a href="#method.new">new</a></li><li><a href="#method.resize">resize</a></li><li><a href="#method.set_edge_insets">set_edge_insets</a></li><li><a href="#method.update_references">update_references</a></li><li><a href="#method.update_zoom">update_zoom</a></li><li><a href="#method.view_projection">view_projection</a></li><li><a href="#method.view_region_bounding_box">view_region_bounding_box</a></li><li><a href="#method.view_region_bounding_box_ndc">view_region_bounding_box_ndc</a></li><li><a href="#method.window_to_world">window_to_world</a></li><li><a href="#method.window_to_world_at_ground">window_to_world_at_ground</a></li><li><a href="#method.window_to_world_nalgebra">window_to_world_nalgebra</a></li><li><a href="#method.zoom">zoom</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-ViewState">RefUnwindSafe</a></li><li><a href="#impl-Send-for-ViewState">Send</a></li><li><a href="#impl-Sync-for-ViewState">Sync</a></li><li><a href="#impl-Unpin-for-ViewState">Unpin</a></li><li><a href="#impl-UnwindSafe-for-ViewState">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-ViewState">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-ViewState">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-ViewState">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-Downcast-for-ViewState">Downcast</a></li><li><a href="#impl-Downcast%3CT%3E-for-ViewState">Downcast&lt;T&gt;</a></li><li><a href="#impl-DowncastSync-for-ViewState">DowncastSync</a></li><li><a href="#impl-From%3CT%3E-for-ViewState">From&lt;T&gt;</a></li><li><a href="#impl-Instrument-for-ViewState">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-ViewState">Into&lt;U&gt;</a></li><li><a href="#impl-Resource-for-ViewState">Resource</a></li><li><a href="#impl-Same%3CT%3E-for-ViewState">Same&lt;T&gt;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-ViewState">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-ViewState">TryInto&lt;U&gt;</a></li><li><a href="#impl-Upcast%3CT%3E-for-ViewState">Upcast&lt;T&gt;</a></li><li><a href="#impl-WasmNotSend-for-ViewState">WasmNotSend</a></li><li><a href="#impl-WasmNotSync-for-ViewState">WasmNotSync</a></li><li><a href="#impl-WithSubscriber-for-ViewState">WithSubscriber</a></li><li><a href="#impl-Within%3CG2%3E-for-ViewState">Within&lt;G2&gt;</a></li></ul></section><h2><a href="index.html">In maplibre::render::view_state</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="../../index.html">maplibre</a>::<wbr><a href="../index.html">render</a>::<wbr><a href="index.html">view_state</a>::<wbr><a class="struct" href="#">ViewState</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../../src/maplibre/render/view_state.rs.html#24-32">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct ViewState {
zoom: <a class="struct" href="../../util/struct.ChangeObserver.html" title="struct maplibre::util::ChangeObserver">ChangeObserver</a>&lt;<a class="struct" href="../../coords/struct.Zoom.html" title="struct maplibre::coords::Zoom">Zoom</a>&gt;,
camera: <a class="struct" href="../../util/struct.ChangeObserver.html" title="struct maplibre::util::ChangeObserver">ChangeObserver</a>&lt;<a class="struct" href="../camera/struct.Camera.html" title="struct maplibre::render::camera::Camera">Camera</a>&gt;,
perspective: <a class="struct" href="../camera/struct.Perspective.html" title="struct maplibre::render::camera::Perspective">Perspective</a>,
width: <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.f64.html">f64</a>,
height: <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.f64.html">f64</a>,
edge_insets: <a class="struct" href="../camera/struct.EdgeInsets.html" title="struct maplibre::render::camera::EdgeInsets">EdgeInsets</a>,
}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.zoom" class="structfield small-section-header"><a href="#structfield.zoom" class="anchor field">§</a><code>zoom: <a class="struct" href="../../util/struct.ChangeObserver.html" title="struct maplibre::util::ChangeObserver">ChangeObserver</a>&lt;<a class="struct" href="../../coords/struct.Zoom.html" title="struct maplibre::coords::Zoom">Zoom</a>&gt;</code></span><span id="structfield.camera" class="structfield small-section-header"><a href="#structfield.camera" class="anchor field">§</a><code>camera: <a class="struct" href="../../util/struct.ChangeObserver.html" title="struct maplibre::util::ChangeObserver">ChangeObserver</a>&lt;<a class="struct" href="../camera/struct.Camera.html" title="struct maplibre::render::camera::Camera">Camera</a>&gt;</code></span><span id="structfield.perspective" class="structfield small-section-header"><a href="#structfield.perspective" class="anchor field">§</a><code>perspective: <a class="struct" href="../camera/struct.Perspective.html" title="struct maplibre::render::camera::Perspective">Perspective</a></code></span><span id="structfield.width" class="structfield small-section-header"><a href="#structfield.width" class="anchor field">§</a><code>width: <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.f64.html">f64</a></code></span><span id="structfield.height" class="structfield small-section-header"><a href="#structfield.height" class="anchor field">§</a><code>height: <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.f64.html">f64</a></code></span><span id="structfield.edge_insets" class="structfield small-section-header"><a href="#structfield.edge_insets" class="anchor field">§</a><code>edge_insets: <a class="struct" href="../camera/struct.EdgeInsets.html" title="struct maplibre::render::camera::EdgeInsets">EdgeInsets</a></code></span><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ViewState" class="impl"><a class="src rightside" href="../../../src/maplibre/render/view_state.rs.html#34-463">source</a><a href="#impl-ViewState" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.ViewState.html" title="struct maplibre::render::view_state::ViewState">ViewState</a></h3></section></summary><div class="impl-items"><section id="method.new" class="method"><a class="src rightside" href="../../../src/maplibre/render/view_state.rs.html#35-59">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>&lt;F: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;Rad&lt;<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.f64.html">f64</a>&gt;&gt;, P: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;Deg&lt;<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.f64.html">f64</a>&gt;&gt;&gt;(
window_size: <a class="struct" href="../../window/struct.PhysicalSize.html" title="struct maplibre::window::PhysicalSize">PhysicalSize</a>,
position: <a class="struct" href="../../coords/struct.WorldCoords.html" title="struct maplibre::coords::WorldCoords">WorldCoords</a>,
zoom: <a class="struct" href="../../coords/struct.Zoom.html" title="struct maplibre::coords::Zoom">Zoom</a>,
pitch: P,
fovy: F
) -&gt; Self</h4></section><section id="method.set_edge_insets" class="method"><a class="src rightside" href="../../../src/maplibre/render/view_state.rs.html#60-62">source</a><h4 class="code-header">pub fn <a href="#method.set_edge_insets" class="fn">set_edge_insets</a>(&amp;mut self, edge_insets: <a class="struct" href="../camera/struct.EdgeInsets.html" title="struct maplibre::render::camera::EdgeInsets">EdgeInsets</a>)</h4></section><section id="method.edge_insets" class="method"><a class="src rightside" href="../../../src/maplibre/render/view_state.rs.html#64-66">source</a><h4 class="code-header">pub fn <a href="#method.edge_insets" class="fn">edge_insets</a>(&amp;self) -&gt; &amp;<a class="struct" href="../camera/struct.EdgeInsets.html" title="struct maplibre::render::camera::EdgeInsets">EdgeInsets</a></h4></section><section id="method.resize" class="method"><a class="src rightside" href="../../../src/maplibre/render/view_state.rs.html#68-71">source</a><h4 class="code-header">pub fn <a href="#method.resize" class="fn">resize</a>(&amp;mut self, size: <a class="struct" href="../../window/struct.LogicalSize.html" title="struct maplibre::window::LogicalSize">LogicalSize</a>)</h4></section><section id="method.create_view_region" class="method"><a class="src rightside" href="../../../src/maplibre/render/view_state.rs.html#73-84">source</a><h4 class="code-header">pub fn <a href="#method.create_view_region" class="fn">create_view_region</a>(&amp;self, visible_level: <a class="struct" href="../../coords/struct.ZoomLevel.html" title="struct maplibre::coords::ZoomLevel">ZoomLevel</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../coords/struct.ViewRegion.html" title="struct maplibre::coords::ViewRegion">ViewRegion</a>&gt;</h4></section><section id="method.get_intersection_time" class="method"><a class="src rightside" href="../../../src/maplibre/render/view_state.rs.html#86-106">source</a><h4 class="code-header">pub fn <a href="#method.get_intersection_time" class="fn">get_intersection_time</a>(
ray_origin: Vector3&lt;<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.f64.html">f64</a>&gt;,
ray_direction: Vector3&lt;<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.f64.html">f64</a>&gt;,
plane_origin: Vector3&lt;<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.f64.html">f64</a>&gt;,
plane_normal: Vector3&lt;<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.f64.html">f64</a>&gt;
) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.f64.html">f64</a></h4></section><section id="method.furthest_distance" class="method"><a class="src rightside" href="../../../src/maplibre/render/view_state.rs.html#108-137">source</a><h4 class="code-header">pub fn <a href="#method.furthest_distance" class="fn">furthest_distance</a>(
&amp;self,
camera_height: <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.f64.html">f64</a>,
center_offset: Point2&lt;<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.f64.html">f64</a>&gt;
) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.f64.html">f64</a></h4></section><section id="method.camera_to_center_distance" class="method"><a class="src rightside" href="../../../src/maplibre/render/view_state.rs.html#139-148">source</a><h4 class="code-header">pub fn <a href="#method.camera_to_center_distance" class="fn">camera_to_center_distance</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.f64.html">f64</a></h4></section><details class="toggle method-toggle" open><summary><section id="method.view_projection" class="method"><a class="src rightside" href="../../../src/maplibre/render/view_state.rs.html#152">source</a><h4 class="code-header">pub fn <a href="#method.view_projection" class="fn">view_projection</a>(&amp;self) -&gt; <a class="struct" href="../camera/struct.ViewProjection.html" title="struct maplibre::render::camera::ViewProjection">ViewProjection</a></h4></section></summary><div class="docblock"><p>This function matches how maplibre-gl-js implements perspective and cameras at the time
of the mapbox -&gt; maplibre fork: <a href="https://github.com/maplibre/maplibre-gl-js/blob/e78ad7944ef768e67416daa4af86b0464bd0f617/src/geo/transform.ts#L680">src/geo/transform.ts#L680</a></p>
</div></details><section id="method.zoom" class="method"><a class="src rightside" href="../../../src/maplibre/render/view_state.rs.html#206-208">source</a><h4 class="code-header">pub fn <a href="#method.zoom" class="fn">zoom</a>(&amp;self) -&gt; <a class="struct" href="../../coords/struct.Zoom.html" title="struct maplibre::coords::Zoom">Zoom</a></h4></section><section id="method.did_zoom_change" class="method"><a class="src rightside" href="../../../src/maplibre/render/view_state.rs.html#210-212">source</a><h4 class="code-header">pub fn <a href="#method.did_zoom_change" class="fn">did_zoom_change</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.bool.html">bool</a></h4></section><section id="method.update_zoom" class="method"><a class="src rightside" href="../../../src/maplibre/render/view_state.rs.html#214-217">source</a><h4 class="code-header">pub fn <a href="#method.update_zoom" class="fn">update_zoom</a>(&amp;mut self, new_zoom: <a class="struct" href="../../coords/struct.Zoom.html" title="struct maplibre::coords::Zoom">Zoom</a>)</h4></section><section id="method.camera" class="method"><a class="src rightside" href="../../../src/maplibre/render/view_state.rs.html#219-221">source</a><h4 class="code-header">pub fn <a href="#method.camera" class="fn">camera</a>(&amp;self) -&gt; &amp;<a class="struct" href="../camera/struct.Camera.html" title="struct maplibre::render::camera::Camera">Camera</a></h4></section><section id="method.camera_mut" class="method"><a class="src rightside" href="../../../src/maplibre/render/view_state.rs.html#223-225">source</a><h4 class="code-header">pub fn <a href="#method.camera_mut" class="fn">camera_mut</a>(&amp;mut self) -&gt; &amp;mut <a class="struct" href="../camera/struct.Camera.html" title="struct maplibre::render::camera::Camera">Camera</a></h4></section><section id="method.did_camera_change" class="method"><a class="src rightside" href="../../../src/maplibre/render/view_state.rs.html#227-229">source</a><h4 class="code-header">pub fn <a href="#method.did_camera_change" class="fn">did_camera_change</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.bool.html">bool</a></h4></section><section id="method.update_references" class="method"><a class="src rightside" href="../../../src/maplibre/render/view_state.rs.html#231-234">source</a><h4 class="code-header">pub fn <a href="#method.update_references" class="fn">update_references</a>(&amp;mut self)</h4></section><details class="toggle method-toggle" open><summary><section id="method.clip_to_window_transform" class="method"><a class="src rightside" href="../../../src/maplibre/render/view_state.rs.html#238-253">source</a><h4 class="code-header">fn <a href="#method.clip_to_window_transform" class="fn">clip_to_window_transform</a>(&amp;self) -&gt; Matrix4&lt;<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.f64.html">f64</a>&gt;</h4></section></summary><div class="docblock"><p>A transform which can be used to transform between clip and window space.
Adopted from <a href="https://docs.microsoft.com/en-us/windows/win32/direct3d9/viewports-and-clipping#viewport-rectangle">here</a> (Direct3D).</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.clip_to_window" class="method"><a class="src rightside" href="../../../src/maplibre/render/view_state.rs.html#258-268">source</a><h4 class="code-header">fn <a href="#method.clip_to_window" class="fn">clip_to_window</a>(&amp;self, clip: &amp;Vector4&lt;<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.f64.html">f64</a>&gt;) -&gt; Vector4&lt;<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.f64.html">f64</a>&gt;</h4></section></summary><div class="docblock"><p>Transforms coordinates in clip space to window coordinates.</p>
<p>Adopted from <a href="https://docs.microsoft.com/en-us/windows/win32/dxtecharts/the-direct3d-transformation-pipeline">here</a> (Direct3D).</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.clip_to_window_vulkan" class="method"><a class="src rightside" href="../../../src/maplibre/render/view_state.rs.html#274-298">source</a><h4 class="code-header">fn <a href="#method.clip_to_window_vulkan" class="fn">clip_to_window_vulkan</a>(&amp;self, clip: &amp;Vector4&lt;<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.f64.html">f64</a>&gt;) -&gt; Vector3&lt;<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.f64.html">f64</a>&gt;</h4></section></summary><div class="docblock"><p>Alternative implementation to <code>clip_to_window</code>. Transforms coordinates in clip space to
window coordinates.</p>
<p>Adopted from <a href="https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkViewport.html">here</a>
and <a href="https://matthewwellings.com/blog/the-new-vulkan-coordinate-system/">here</a> (Vulkan).</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.window_to_world" class="method"><a class="src rightside" href="../../../src/maplibre/render/view_state.rs.html#304-325">source</a><h4 class="code-header">fn <a href="#method.window_to_world" class="fn">window_to_world</a>(
&amp;self,
window: &amp;Vector3&lt;<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.f64.html">f64</a>&gt;,
inverted_view_proj: &amp;<a class="struct" href="../camera/struct.InvertedViewProjection.html" title="struct maplibre::render::camera::InvertedViewProjection">InvertedViewProjection</a>
) -&gt; Vector3&lt;<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.f64.html">f64</a>&gt;</h4></section></summary><div class="docblock"><p>Order of transformations reversed: https://computergraphics.stackexchange.com/questions/6087/screen-space-coordinates-to-eye-space-conversion/6093
<code>w</code> is lost.</p>
<p>OpenGL explanation: https://www.khronos.org/opengl/wiki/Compute_eye_space_from_window_space#From_window_to_ndc</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.window_to_world_nalgebra" class="method"><a class="src rightside" href="../../../src/maplibre/render/view_state.rs.html#330-349">source</a><h4 class="code-header">fn <a href="#method.window_to_world_nalgebra" class="fn">window_to_world_nalgebra</a>(
window: &amp;Vector3&lt;<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.f64.html">f64</a>&gt;,
inverted_view_proj: &amp;<a class="struct" href="../camera/struct.InvertedViewProjection.html" title="struct maplibre::render::camera::InvertedViewProjection">InvertedViewProjection</a>,
width: <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.f64.html">f64</a>,
height: <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.f64.html">f64</a>
) -&gt; Vector3&lt;<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.f64.html">f64</a>&gt;</h4></section></summary><div class="docblock"><p>Alternative implementation to <code>window_to_world</code></p>
<p>Adopted from <a href="https://docs.rs/nalgebra-glm/latest/src/nalgebra_glm/ext/matrix_projection.rs.html#164-181">here</a>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.window_to_world_at_ground" class="method"><a class="src rightside" href="../../../src/maplibre/render/view_state.rs.html#352-373">source</a><h4 class="code-header">pub fn <a href="#method.window_to_world_at_ground" class="fn">window_to_world_at_ground</a>(
&amp;self,
window: &amp;Vector2&lt;<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.f64.html">f64</a>&gt;,
inverted_view_proj: &amp;<a class="struct" href="../camera/struct.InvertedViewProjection.html" title="struct maplibre::render::camera::InvertedViewProjection">InvertedViewProjection</a>,
bound: <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.bool.html">bool</a>
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Vector2&lt;<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.f64.html">f64</a>&gt;&gt;</h4></section></summary><div class="docblock"><p>Gets the world coordinates for the specified <code>window</code> coordinates on the <code>z=0</code> plane.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.view_region_bounding_box" class="method"><a class="src rightside" href="../../../src/maplibre/render/view_state.rs.html#385-405">source</a><h4 class="code-header">pub fn <a href="#method.view_region_bounding_box" class="fn">view_region_bounding_box</a>(
&amp;self,
inverted_view_proj: &amp;<a class="struct" href="../camera/struct.InvertedViewProjection.html" title="struct maplibre::render::camera::InvertedViewProjection">InvertedViewProjection</a>
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../util/math/struct.Aabb2.html" title="struct maplibre::util::math::Aabb2">Aabb2</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.f64.html">f64</a>&gt;&gt;</h4></section></summary><div class="docblock"><p>Calculates an <a href="../../util/math/struct.Aabb2.html" title="struct maplibre::util::math::Aabb2"><code>Aabb2</code></a> bounding box which contains at least the visible area on the <code>z=0</code>
plane. One can think of it as being the bounding box of the geometry which forms the
intersection between the viewing frustum and the <code>z=0</code> plane.</p>
<p>This implementation works in the world 3D space. It casts rays from the corners of the
window to calculate intersections points with the <code>z=0</code> plane. Then a bounding box is
calculated.</p>
<p><em>Note:</em> It is possible that no such bounding box exists. This is the case if the <code>z=0</code> plane
is not in view.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.view_region_bounding_box_ndc" class="method"><a class="src rightside" href="../../../src/maplibre/render/view_state.rs.html#411-462">source</a><h4 class="code-header">pub fn <a href="#method.view_region_bounding_box_ndc" class="fn">view_region_bounding_box_ndc</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../util/math/struct.Aabb2.html" title="struct maplibre::util::math::Aabb2">Aabb2</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.f64.html">f64</a>&gt;&gt;</h4></section></summary><div class="docblock"><p>An alternative implementation for <code>view_bounding_box</code>.</p>
<p>This implementation works in the NDC space. We are creating a plane in the world 3D space.
Then we are transforming it to the NDC space. In NDC space it is easy to calculate
the intersection points between an Aabb3 and a plane. The resulting Aabb2 is returned.</p>
</div></details></div></details></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-ViewState" class="impl"><a href="#impl-RefUnwindSafe-for-ViewState" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.ViewState.html" title="struct maplibre::render::view_state::ViewState">ViewState</a></h3></section><section id="impl-Send-for-ViewState" class="impl"><a href="#impl-Send-for-ViewState" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.ViewState.html" title="struct maplibre::render::view_state::ViewState">ViewState</a></h3></section><section id="impl-Sync-for-ViewState" class="impl"><a href="#impl-Sync-for-ViewState" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.ViewState.html" title="struct maplibre::render::view_state::ViewState">ViewState</a></h3></section><section id="impl-Unpin-for-ViewState" class="impl"><a href="#impl-Unpin-for-ViewState" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.ViewState.html" title="struct maplibre::render::view_state::ViewState">ViewState</a></h3></section><section id="impl-UnwindSafe-for-ViewState" class="impl"><a href="#impl-UnwindSafe-for-ViewState" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.ViewState.html" title="struct maplibre::render::view_state::ViewState">ViewState</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-ViewState" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.73.0/src/core/any.rs.html#135">source</a><a href="#impl-Any-for-ViewState" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.73.0/src/core/any.rs.html#136">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.73.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.73.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.73.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-ViewState" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.73.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-ViewState" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.73.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.73.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.73.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-ViewState" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.73.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-ViewState" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.73.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.73.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.73.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Downcast%3CT%3E-for-ViewState" class="impl"><a href="#impl-Downcast%3CT%3E-for-ViewState" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; Downcast&lt;T&gt; for T</h3></section></summary><div class="impl-items"><section id="method.downcast" class="method trait-impl"><a href="#method.downcast" class="anchor">§</a><h4 class="code-header">fn <a class="fn">downcast</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.reference.html">&amp;T</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Downcast-for-ViewState" class="impl"><a href="#impl-Downcast-for-ViewState" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; Downcast for T<span class="where fmt-newline">where
T: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into_any" class="method trait-impl"><a href="#method.into_any" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_any</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.73.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;T, <a class="struct" href="https://doc.rust-lang.org/1.73.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.73.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a>, <a class="struct" href="https://doc.rust-lang.org/1.73.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Convert <code>Box&lt;dyn Trait&gt;</code> (where <code>Trait: Downcast</code>) to <code>Box&lt;dyn Any&gt;</code>. <code>Box&lt;dyn Any&gt;</code> can
then be further <code>downcast</code> into <code>Box&lt;ConcreteType&gt;</code> where <code>ConcreteType</code> implements <code>Trait</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_any_rc" class="method trait-impl"><a href="#method.into_any_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_any_rc</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.73.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;T, <a class="struct" href="https://doc.rust-lang.org/1.73.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.73.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a>, <a class="struct" href="https://doc.rust-lang.org/1.73.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Convert <code>Rc&lt;Trait&gt;</code> (where <code>Trait: Downcast</code>) to <code>Rc&lt;Any&gt;</code>. <code>Rc&lt;Any&gt;</code> can then be
further <code>downcast</code> into <code>Rc&lt;ConcreteType&gt;</code> where <code>ConcreteType</code> implements <code>Trait</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_any" class="method trait-impl"><a href="#method.as_any" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_any</a>(&amp;self) -&gt; &amp;(dyn <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static)</h4></section></summary><div class='docblock'>Convert <code>&amp;Trait</code> (where <code>Trait: Downcast</code>) to <code>&amp;Any</code>. This is needed since Rust cannot
generate <code>&amp;Any</code>s vtable from <code>&amp;Trait</code>s.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_any_mut" class="method trait-impl"><a href="#method.as_any_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_any_mut</a>(&amp;mut self) -&gt; &amp;mut (dyn <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static)</h4></section></summary><div class='docblock'>Convert <code>&amp;mut Trait</code> (where <code>Trait: Downcast</code>) to <code>&amp;Any</code>. This is needed since Rust cannot
generate <code>&amp;mut Any</code>s vtable from <code>&amp;mut Trait</code>s.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DowncastSync-for-ViewState" class="impl"><a href="#impl-DowncastSync-for-ViewState" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; DowncastSync for T<span class="where fmt-newline">where
T: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into_any_arc" class="method trait-impl"><a href="#method.into_any_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_any_arc</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.73.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;T, <a class="struct" href="https://doc.rust-lang.org/1.73.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.73.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>, <a class="struct" href="https://doc.rust-lang.org/1.73.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Convert <code>Arc&lt;Trait&gt;</code> (where <code>Trait: Downcast</code>) to <code>Arc&lt;Any&gt;</code>. <code>Arc&lt;Any&gt;</code> can then be
further <code>downcast</code> into <code>Arc&lt;ConcreteType&gt;</code> where <code>ConcreteType</code> implements <code>Trait</code>.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-ViewState" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.73.0/src/core/convert/mod.rs.html#722">source</a><a href="#impl-From%3CT%3E-for-ViewState" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.73.0/src/core/convert/mod.rs.html#725">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.73.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Instrument-for-ViewState" class="impl"><a href="#impl-Instrument-for-ViewState" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; Instrument for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.instrument" class="method trait-impl"><a href="#method.instrument" class="anchor">§</a><h4 class="code-header">fn <a class="fn">instrument</a>(self, span: Span) -&gt; Instrumented&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the provided [<code>Span</code>], returning an
<code>Instrumented</code> wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.in_current_span" class="method trait-impl"><a href="#method.in_current_span" class="anchor">§</a><h4 class="code-header">fn <a class="fn">in_current_span</a>(self) -&gt; Instrumented&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the <a href="super::Span::current()">current</a> <a href="crate::Span"><code>Span</code></a>, returning an
<code>Instrumented</code> wrapper. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-ViewState" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.73.0/src/core/convert/mod.rs.html#706">source</a><a href="#impl-Into%3CU%3E-for-ViewState" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where
U: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.73.0/src/core/convert/mod.rs.html#715">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.73.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
<code><a href="https://doc.rust-lang.org/1.73.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Same%3CT%3E-for-ViewState" class="impl"><a class="src rightside" href="https://docs.rs/typenum/1.17.0/src/typenum/type_operators.rs.html#34">source</a><a href="#impl-Same%3CT%3E-for-ViewState" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://docs.rs/typenum/1.17.0/typenum/type_operators/trait.Same.html" title="trait typenum::type_operators::Same">Same</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl"><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="https://docs.rs/typenum/1.17.0/typenum/type_operators/trait.Same.html#associatedtype.Output" class="associatedtype">Output</a> = T</h4></section></summary><div class='docblock'>Should always be <code>Self</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-ViewState" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.73.0/src/core/convert/mod.rs.html#762">source</a><a href="#impl-TryFrom%3CU%3E-for-ViewState" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where
U: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.73.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.73.0/src/core/convert/mod.rs.html#769">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.73.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-ViewState" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.73.0/src/core/convert/mod.rs.html#747">source</a><a href="#impl-TryInto%3CU%3E-for-ViewState" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where
U: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.73.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.73.0/src/core/convert/mod.rs.html#754">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.73.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Upcast%3CT%3E-for-ViewState" class="impl"><a href="#impl-Upcast%3CT%3E-for-ViewState" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; Upcast&lt;T&gt; for T</h3></section></summary><div class="impl-items"><section id="method.upcast" class="method trait-impl"><a href="#method.upcast" class="anchor">§</a><h4 class="code-header">fn <a class="fn">upcast</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.reference.html">&amp;T</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-WithSubscriber-for-ViewState" class="impl"><a href="#impl-WithSubscriber-for-ViewState" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; WithSubscriber for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.with_subscriber" class="method trait-impl"><a href="#method.with_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_subscriber</a>&lt;S&gt;(self, subscriber: S) -&gt; WithDispatch&lt;Self&gt;<span class="where fmt-newline">where
S: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;Dispatch&gt;,</span></h4></section></summary><div class='docblock'>Attaches the provided <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.with_current_subscriber" class="method trait-impl"><a href="#method.with_current_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_current_subscriber</a>(self) -&gt; WithDispatch&lt;Self&gt;</h4></section></summary><div class='docblock'>Attaches the current <a href="crate::dispatcher#setting-the-default-subscriber">default</a> <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Within%3CG2%3E-for-ViewState" class="impl"><a href="#impl-Within%3CG2%3E-for-ViewState" class="anchor">§</a><h3 class="code-header">impl&lt;G1, G2&gt; Within&lt;G2&gt; for G1<span class="where fmt-newline">where
G2: Contains&lt;G1&gt;,</span></h3></section></summary><div class="impl-items"><section id="method.is_within" class="method trait-impl"><a href="#method.is_within" class="anchor">§</a><h4 class="code-header">fn <a class="fn">is_within</a>(&amp;self, b: <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.reference.html">&amp;G2</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.bool.html">bool</a></h4></section></div></details><section id="impl-Resource-for-ViewState" class="impl"><a class="src rightside" href="../../../src/maplibre/tcs/resources.rs.html#10">source</a><a href="#impl-Resource-for-ViewState" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../tcs/resources/trait.Resource.html" title="trait maplibre::tcs::resources::Resource">Resource</a> for T<span class="where fmt-newline">where
T: 'static,</span></h3></section><section id="impl-WasmNotSend-for-ViewState" class="impl"><a href="#impl-WasmNotSend-for-ViewState" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; WasmNotSend for T<span class="where fmt-newline">where
T: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</span></h3></section><section id="impl-WasmNotSync-for-ViewState" class="impl"><a href="#impl-WasmNotSync-for-ViewState" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; WasmNotSync for T<span class="where fmt-newline">where
T: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</span></h3></section></div></section></div></main></body></html>