Files
phy/parry3d/shape/struct.Polyline.html
Orion Kindel 0ce894e6b0 doc
2025-03-18 10:30:23 -05:00

195 lines
111 KiB
HTML
Raw Permalink 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="A polyline."><title>Polyline in parry3d::shape - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-42caa33d.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="parry3d" data-themes="" data-resource-suffix="" data-rustdoc-version="1.84.0 (9fc6b4312 2025-01-07)" data-channel="1.84.0" data-search-js="search-92e6798f.js" data-settings-js="settings-0f613d39.js" ><script src="../../static.files/storage-59e33391.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-5f194d8c.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-893ab5e7.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-6580c154.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../parry3d/index.html">parry3d</a><span class="version">0.18.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Polyline</a></h2><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.aabb" title="aabb">aabb</a></li><li><a href="#method.bounding_sphere" title="bounding_sphere">bounding_sphere</a></li><li><a href="#method.extract_connected_components" title="extract_connected_components">extract_connected_components</a></li><li><a href="#method.flat_indices" title="flat_indices">flat_indices</a></li><li><a href="#method.indices" title="indices">indices</a></li><li><a href="#method.local_aabb" title="local_aabb">local_aabb</a></li><li><a href="#method.local_bounding_sphere" title="local_bounding_sphere">local_bounding_sphere</a></li><li><a href="#method.new" title="new">new</a></li><li><a href="#method.num_segments" title="num_segments">num_segments</a></li><li><a href="#method.project_local_point_assuming_solid_interior_ccw" title="project_local_point_assuming_solid_interior_ccw">project_local_point_assuming_solid_interior_ccw</a></li><li><a href="#method.reverse" title="reverse">reverse</a></li><li><a href="#method.scaled" title="scaled">scaled</a></li><li><a href="#method.segment" title="segment">segment</a></li><li><a href="#method.segment_feature_to_polyline_feature" title="segment_feature_to_polyline_feature">segment_feature_to_polyline_feature</a></li><li><a href="#method.segments" title="segments">segments</a></li><li><a href="#method.vertices" title="vertices">vertices</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-Polyline" title="Clone">Clone</a></li><li><a href="#impl-Debug-for-Polyline" title="Debug">Debug</a></li><li><a href="#impl-Deserialize%3C'de%3E-for-Polyline" title="Deserialize&#60;&#39;de&#62;">Deserialize&#60;&#39;de&#62;</a></li><li><a href="#impl-PointQuery-for-Polyline" title="PointQuery">PointQuery</a></li><li><a href="#impl-PointQueryWithLocation-for-Polyline" title="PointQueryWithLocation">PointQueryWithLocation</a></li><li><a href="#impl-RayCast-for-Polyline" title="RayCast">RayCast</a></li><li><a href="#impl-Serialize-for-Polyline" title="Serialize">Serialize</a></li><li><a href="#impl-Shape-for-Polyline" title="Shape">Shape</a></li><li><a href="#impl-SimdCompositeShape-for-Polyline" title="SimdCompositeShape">SimdCompositeShape</a></li><li><a href="#impl-TypedSimdCompositeShape-for-Polyline" title="TypedSimdCompositeShape">TypedSimdCompositeShape</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-Polyline" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Polyline" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Polyline" title="Send">Send</a></li><li><a href="#impl-Sync-for-Polyline" title="Sync">Sync</a></li><li><a href="#impl-Unpin-for-Polyline" title="Unpin">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Polyline" title="UnwindSafe">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T" title="Any">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow&#60;T&#62;">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut&#60;T&#62;">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-CloneToUninit-for-T" title="CloneToUninit">CloneToUninit</a></li><li><a href="#impl-DeserializeOwned-for-T" title="DeserializeOwned">DeserializeOwned</a></li><li><a href="#impl-Downcast-for-T" title="Downcast">Downcast</a></li><li><a href="#impl-DowncastSync-for-T" title="DowncastSync">DowncastSync</a></li><li><a href="#impl-From%3CT%3E-for-T" title="From&#60;T&#62;">From&#60;T&#62;</a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into&#60;U&#62;">Into&#60;U&#62;</a></li><li><a href="#impl-IntoEither-for-T" title="IntoEither">IntoEither</a></li><li><a href="#impl-Same-for-T" title="Same">Same</a></li><li><a href="#impl-SupersetOf%3CSS%3E-for-SP" title="SupersetOf&#60;SS&#62;">SupersetOf&#60;SS&#62;</a></li><li><a href="#impl-ToOwned-for-T" title="ToOwned">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom&#60;U&#62;">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto&#60;U&#62;">TryInto&#60;U&#62;</a></li></ul></section><div id="rustdoc-modnav"><h2><a href="index.html">In parry3d::<wbr>shape</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="../index.html">parry3d</a>::<wbr><a href="index.html">shape</a></span><h1>Struct <span class="struct">Polyline</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/parry3d/shape/polyline.rs.html#20-24">Source</a> </span></div><pre class="rust item-decl"><code>pub struct Polyline { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A polyline.</p>
</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Polyline" class="impl"><a class="src rightside" href="../../src/parry3d/bounding_volume/bounding_sphere_polyline.rs.html#5-17">Source</a><a href="#impl-Polyline" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Polyline.html" title="struct parry3d::shape::Polyline">Polyline</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.bounding_sphere" class="method"><a class="src rightside" href="../../src/parry3d/bounding_volume/bounding_sphere_polyline.rs.html#8-10">Source</a><h4 class="code-header">pub fn <a href="#method.bounding_sphere" class="fn">bounding_sphere</a>(&amp;self, pos: &amp;<a class="type" href="../math/type.Isometry.html" title="type parry3d::math::Isometry">Isometry</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;) -&gt; <a class="struct" href="../bounding_volume/struct.BoundingSphere.html" title="struct parry3d::bounding_volume::BoundingSphere">BoundingSphere</a></h4></section></summary><div class="docblock"><p>Computes the world-space bounding sphere of this polyline, transformed by <code>pos</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.local_bounding_sphere" class="method"><a class="src rightside" href="../../src/parry3d/bounding_volume/bounding_sphere_polyline.rs.html#14-16">Source</a><h4 class="code-header">pub fn <a href="#method.local_bounding_sphere" class="fn">local_bounding_sphere</a>(&amp;self) -&gt; <a class="struct" href="../bounding_volume/struct.BoundingSphere.html" title="struct parry3d::bounding_volume::BoundingSphere">BoundingSphere</a></h4></section></summary><div class="docblock"><p>Computes the local-space bounding sphere of this polyline.</p>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Polyline-1" class="impl"><a class="src rightside" href="../../src/parry3d/shape/polyline.rs.html#26-280">Source</a><a href="#impl-Polyline-1" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Polyline.html" title="struct parry3d::shape::Polyline">Polyline</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><a class="src rightside" href="../../src/parry3d/shape/polyline.rs.html#28-47">Source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(vertices: <a class="struct" href="https://doc.rust-lang.org/1.84.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="type" href="../math/type.Point.html" title="type parry3d::math::Point">Point</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;&gt;, indices: <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.84.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;[<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.array.html">2</a>]&gt;&gt;) -&gt; Self</h4></section></summary><div class="docblock"><p>Creates a new polyline from a vertex buffer and an index buffer.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.aabb" class="method"><a class="src rightside" href="../../src/parry3d/shape/polyline.rs.html#50-52">Source</a><h4 class="code-header">pub fn <a href="#method.aabb" class="fn">aabb</a>(&amp;self, pos: &amp;<a class="type" href="../math/type.Isometry.html" title="type parry3d::math::Isometry">Isometry</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;) -&gt; <a class="struct" href="../bounding_volume/struct.Aabb.html" title="struct parry3d::bounding_volume::Aabb">Aabb</a></h4></section></summary><div class="docblock"><p>Compute the axis-aligned bounding box of this polyline.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.local_aabb" class="method"><a class="src rightside" href="../../src/parry3d/shape/polyline.rs.html#55-57">Source</a><h4 class="code-header">pub fn <a href="#method.local_aabb" class="fn">local_aabb</a>(&amp;self) -&gt; &amp;<a class="struct" href="../bounding_volume/struct.Aabb.html" title="struct parry3d::bounding_volume::Aabb">Aabb</a></h4></section></summary><div class="docblock"><p>Gets the local axis-aligned bounding box of this polyline.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.num_segments" class="method"><a class="src rightside" href="../../src/parry3d/shape/polyline.rs.html#64-66">Source</a><h4 class="code-header">pub fn <a href="#method.num_segments" class="fn">num_segments</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>The number of segments forming this polyline.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.segments" class="method"><a class="src rightside" href="../../src/parry3d/shape/polyline.rs.html#69-76">Source</a><h4 class="code-header">pub fn <a href="#method.segments" class="fn">segments</a>(&amp;self) -&gt; impl <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/iter/traits/exact_size/trait.ExactSizeIterator.html" title="trait core::iter::traits::exact_size::ExactSizeIterator">ExactSizeIterator</a>&lt;Item = <a class="struct" href="struct.Segment.html" title="struct parry3d::shape::Segment">Segment</a>&gt; + '_</h4></section></summary><div class="docblock"><p>An iterator through all the segments of this mesh.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.segment" class="method"><a class="src rightside" href="../../src/parry3d/shape/polyline.rs.html#79-85">Source</a><h4 class="code-header">pub fn <a href="#method.segment" class="fn">segment</a>(&amp;self, i: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>) -&gt; <a class="struct" href="struct.Segment.html" title="struct parry3d::shape::Segment">Segment</a></h4></section></summary><div class="docblock"><p>Get the <code>i</code>-th segment of this mesh.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.segment_feature_to_polyline_feature" class="method"><a class="src rightside" href="../../src/parry3d/shape/polyline.rs.html#88-98">Source</a><h4 class="code-header">pub fn <a href="#method.segment_feature_to_polyline_feature" class="fn">segment_feature_to_polyline_feature</a>(
&amp;self,
segment: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
_feature: <a class="enum" href="enum.FeatureId.html" title="enum parry3d::shape::FeatureId">FeatureId</a>,
) -&gt; <a class="enum" href="enum.FeatureId.html" title="enum parry3d::shape::FeatureId">FeatureId</a></h4></section></summary><div class="docblock"><p>Transforms the feature-id of a segment to the feature-id of this polyline.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.vertices" class="method"><a class="src rightside" href="../../src/parry3d/shape/polyline.rs.html#101-103">Source</a><h4 class="code-header">pub fn <a href="#method.vertices" class="fn">vertices</a>(&amp;self) -&gt; &amp;[<a class="type" href="../math/type.Point.html" title="type parry3d::math::Point">Point</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;]</h4></section></summary><div class="docblock"><p>The vertex buffer of this mesh.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.indices" class="method"><a class="src rightside" href="../../src/parry3d/shape/polyline.rs.html#106-108">Source</a><h4 class="code-header">pub fn <a href="#method.indices" class="fn">indices</a>(&amp;self) -&gt; &amp;[[<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.array.html">2</a>]]</h4></section></summary><div class="docblock"><p>The index buffer of this mesh.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.flat_indices" class="method"><a class="src rightside" href="../../src/parry3d/shape/polyline.rs.html#111-117">Source</a><h4 class="code-header">pub fn <a href="#method.flat_indices" class="fn">flat_indices</a>(&amp;self) -&gt; &amp;[<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>]</h4></section></summary><div class="docblock"><p>A flat view of the index buffer of this mesh.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.scaled" class="method"><a class="src rightside" href="../../src/parry3d/shape/polyline.rs.html#120-129">Source</a><h4 class="code-header">pub fn <a href="#method.scaled" class="fn">scaled</a>(self, scale: &amp;<a class="type" href="../math/type.Vector.html" title="type parry3d::math::Vector">Vector</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;) -&gt; Self</h4></section></summary><div class="docblock"><p>Computes a scaled version of this polyline.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.reverse" class="method"><a class="src rightside" href="../../src/parry3d/shape/polyline.rs.html#133-145">Source</a><h4 class="code-header">pub fn <a href="#method.reverse" class="fn">reverse</a>(&amp;mut self)</h4></section></summary><div class="docblock"><p>Reverse the orientation of this polyline by swapping the indices of all
its segments and reverting its index buffer.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.extract_connected_components" class="method"><a class="src rightside" href="../../src/parry3d/shape/polyline.rs.html#168-209">Source</a><h4 class="code-header">pub fn <a href="#method.extract_connected_components" class="fn">extract_connected_components</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.84.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="struct.Polyline.html" title="struct parry3d::shape::Polyline">Polyline</a>&gt;</h4></section></summary><div class="docblock"><p>Extracts the connected components of this polyline, consuming <code>self</code>.</p>
<p>This method is currently quite restrictive on the kind of allowed input. The polyline
represented by <code>self</code> must already have an index buffer sorted such that:</p>
<ul>
<li>Each connected component appears in the index buffer one after the other, i.e., a
connected component of this polyline must be a contiguous range of this polylines
index buffer.</li>
<li>Each connected component is closed, i.e., each range of this polyline index buffer
<code>self.indices[i_start..=i_end]</code> forming a complete connected component, we must have
<code>self.indices[i_start][0] == self.indices[i_end][1]</code>.</li>
<li>The indices for each component must already be in order, i.e., if the segments
<code>self.indices[i]</code> and <code>self.indices[i + 1]</code> are part of the same connected component then
we must have <code>self.indices[i][1] == self.indices[i + 1][0]</code>.</li>
</ul>
<h5 id="output"><a class="doc-anchor" href="#output">§</a>Output</h5>
<p>Returns the set of polylines. If the inputs fulfill the constraints mentioned above, each
polyline will be a closed loop with consistent edge orientations, i.e., for all indices <code>i</code>,
we have <code>polyline.indices[i][1] == polyline.indices[i + 1][0]</code>.</p>
<p>The orientation of each closed loop (clockwise or counterclockwise) are identical to their
original orientation in <code>self</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.project_local_point_assuming_solid_interior_ccw" class="method"><a class="src rightside" href="../../src/parry3d/shape/polyline.rs.html#224-279">Source</a><h4 class="code-header">pub fn <a href="#method.project_local_point_assuming_solid_interior_ccw" class="fn">project_local_point_assuming_solid_interior_ccw</a>(
&amp;self,
point: <a class="type" href="../math/type.Point.html" title="type parry3d::math::Point">Point</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;,
axis: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u8.html">u8</a>,
) -&gt; (<a class="struct" href="../query/point/struct.PointProjection.html" title="struct parry3d::query::point::PointProjection">PointProjection</a>, (<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>, <a class="enum" href="enum.SegmentPointLocation.html" title="enum parry3d::shape::SegmentPointLocation">SegmentPointLocation</a>))</h4></section></summary><div class="docblock"><p>Perform a point projection assuming a solid interior based on a counter-clock-wise orientation.</p>
<p>This is similar to <code>self.project_local_point_and_get_location</code> except that the resulting
<code>PointProjection::is_inside</code> will be set to true if the point is inside of the area delimited
by this polyline, assuming that:</p>
<ul>
<li>This polyline isnt self-crossing.</li>
<li>This polyline is closed with <code>self.indices[i][1] == self.indices[(i + 1) % num_indices][0]</code> where
<code>num_indices == self.indices.len()</code>.</li>
<li>This polyline is oriented counter-clockwise.</li>
<li>In 3D, the polyline is assumed to be fully coplanar, on a plane with normal given by
<code>axis</code>.</li>
</ul>
<p>These properties are not checked.</p>
</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-Polyline" class="impl"><a class="src rightside" href="../../src/parry3d/shape/polyline.rs.html#12">Source</a><a href="#impl-Clone-for-Polyline" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.Polyline.html" title="struct parry3d::shape::Polyline">Polyline</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/shape/polyline.rs.html#12">Source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="struct" href="struct.Polyline.html" title="struct parry3d::shape::Polyline">Polyline</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.84.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.84.0/src/core/clone.rs.html#174">Source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: &amp;Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.84.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-Polyline" class="impl"><a class="src rightside" href="../../src/parry3d/shape/polyline.rs.html#12">Source</a><a href="#impl-Debug-for-Polyline" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.Polyline.html" title="struct parry3d::shape::Polyline">Polyline</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/shape/polyline.rs.html#12">Source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.84.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.84.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.84.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deserialize%3C'de%3E-for-Polyline" class="impl"><a class="src rightside" href="../../src/parry3d/shape/polyline.rs.html#13">Source</a><a href="#impl-Deserialize%3C'de%3E-for-Polyline" class="anchor">§</a><h3 class="code-header">impl&lt;'de&gt; <a class="trait" href="../../serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a>&lt;'de&gt; for <a class="struct" href="struct.Polyline.html" title="struct parry3d::shape::Polyline">Polyline</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.deserialize" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/shape/polyline.rs.html#13">Source</a><a href="#method.deserialize" class="anchor">§</a><h4 class="code-header">fn <a href="../../serde/de/trait.Deserialize.html#tymethod.deserialize" class="fn">deserialize</a>&lt;__D&gt;(__deserializer: __D) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, __D::<a class="associatedtype" href="../../serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>&gt;<div class="where">where
__D: <a class="trait" href="../../serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="../../serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PointQuery-for-Polyline" class="impl"><a class="src rightside" href="../../src/parry3d/query/point/point_composite_shape.rs.html#16-43">Source</a><a href="#impl-PointQuery-for-Polyline" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../query/point/trait.PointQuery.html" title="trait parry3d::query::point::PointQuery">PointQuery</a> for <a class="struct" href="struct.Polyline.html" title="struct parry3d::shape::Polyline">Polyline</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.project_local_point" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/query/point/point_composite_shape.rs.html#18-20">Source</a><a href="#method.project_local_point" class="anchor">§</a><h4 class="code-header">fn <a href="../query/point/trait.PointQuery.html#tymethod.project_local_point" class="fn">project_local_point</a>(
&amp;self,
point: &amp;<a class="type" href="../math/type.Point.html" title="type parry3d::math::Point">Point</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;,
solid: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a>,
) -&gt; <a class="struct" href="../query/point/struct.PointProjection.html" title="struct parry3d::query::point::PointProjection">PointProjection</a></h4></section></summary><div class='docblock'>Projects a point on <code>self</code>. <a href="../query/point/trait.PointQuery.html#tymethod.project_local_point">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.project_local_point_and_get_feature" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/query/point/point_composite_shape.rs.html#23-33">Source</a><a href="#method.project_local_point_and_get_feature" class="anchor">§</a><h4 class="code-header">fn <a href="../query/point/trait.PointQuery.html#tymethod.project_local_point_and_get_feature" class="fn">project_local_point_and_get_feature</a>(
&amp;self,
point: &amp;<a class="type" href="../math/type.Point.html" title="type parry3d::math::Point">Point</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;,
) -&gt; (<a class="struct" href="../query/point/struct.PointProjection.html" title="struct parry3d::query::point::PointProjection">PointProjection</a>, <a class="enum" href="enum.FeatureId.html" title="enum parry3d::shape::FeatureId">FeatureId</a>)</h4></section></summary><div class='docblock'>Projects a point on the boundary of <code>self</code> and returns the id of the
feature the point was projected on.</div></details><details class="toggle method-toggle" open><summary><section id="method.contains_local_point" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/query/point/point_composite_shape.rs.html#38-42">Source</a><a href="#method.contains_local_point" class="anchor">§</a><h4 class="code-header">fn <a href="../query/point/trait.PointQuery.html#method.contains_local_point" class="fn">contains_local_point</a>(&amp;self, point: &amp;<a class="type" href="../math/type.Point.html" title="type parry3d::math::Point">Point</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests if the given point is inside of <code>self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.project_local_point_with_max_dist" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/query/point/point_query.rs.html#48-60">Source</a><a href="#method.project_local_point_with_max_dist" class="anchor">§</a><h4 class="code-header">fn <a href="../query/point/trait.PointQuery.html#method.project_local_point_with_max_dist" class="fn">project_local_point_with_max_dist</a>(
&amp;self,
pt: &amp;<a class="type" href="../math/type.Point.html" title="type parry3d::math::Point">Point</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;,
solid: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a>,
max_dist: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../query/point/struct.PointProjection.html" title="struct parry3d::query::point::PointProjection">PointProjection</a>&gt;</h4></section></summary><div class='docblock'>Projects a point on <code>self</code>, unless the projection lies further than the given max distance. <a href="../query/point/trait.PointQuery.html#method.project_local_point_with_max_dist">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.project_point_with_max_dist" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/query/point/point_query.rs.html#63-72">Source</a><a href="#method.project_point_with_max_dist" class="anchor">§</a><h4 class="code-header">fn <a href="../query/point/trait.PointQuery.html#method.project_point_with_max_dist" class="fn">project_point_with_max_dist</a>(
&amp;self,
m: &amp;<a class="type" href="../math/type.Isometry.html" title="type parry3d::math::Isometry">Isometry</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;,
pt: &amp;<a class="type" href="../math/type.Point.html" title="type parry3d::math::Point">Point</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;,
solid: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a>,
max_dist: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../query/point/struct.PointProjection.html" title="struct parry3d::query::point::PointProjection">PointProjection</a>&gt;</h4></section></summary><div class='docblock'>Projects a point on <code>self</code> transformed by <code>m</code>, unless the projection lies further than the given max distance.</div></details><details class="toggle method-toggle" open><summary><section id="method.distance_to_local_point" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/query/point/point_query.rs.html#85-94">Source</a><a href="#method.distance_to_local_point" class="anchor">§</a><h4 class="code-header">fn <a href="../query/point/trait.PointQuery.html#method.distance_to_local_point" class="fn">distance_to_local_point</a>(&amp;self, pt: &amp;<a class="type" href="../math/type.Point.html" title="type parry3d::math::Point">Point</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;, solid: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a></h4></section></summary><div class='docblock'>Computes the minimal distance between a point and <code>self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.project_point" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/query/point/point_query.rs.html#102-105">Source</a><a href="#method.project_point" class="anchor">§</a><h4 class="code-header">fn <a href="../query/point/trait.PointQuery.html#method.project_point" class="fn">project_point</a>(
&amp;self,
m: &amp;<a class="type" href="../math/type.Isometry.html" title="type parry3d::math::Isometry">Isometry</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;,
pt: &amp;<a class="type" href="../math/type.Point.html" title="type parry3d::math::Point">Point</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;,
solid: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a>,
) -&gt; <a class="struct" href="../query/point/struct.PointProjection.html" title="struct parry3d::query::point::PointProjection">PointProjection</a></h4></section></summary><div class='docblock'>Projects a point on <code>self</code> transformed by <code>m</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.distance_to_point" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/query/point/point_query.rs.html#109-111">Source</a><a href="#method.distance_to_point" class="anchor">§</a><h4 class="code-header">fn <a href="../query/point/trait.PointQuery.html#method.distance_to_point" class="fn">distance_to_point</a>(
&amp;self,
m: &amp;<a class="type" href="../math/type.Isometry.html" title="type parry3d::math::Isometry">Isometry</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;,
pt: &amp;<a class="type" href="../math/type.Point.html" title="type parry3d::math::Point">Point</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;,
solid: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a>,
) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a></h4></section></summary><div class='docblock'>Computes the minimal distance between a point and <code>self</code> transformed by <code>m</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.project_point_and_get_feature" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/query/point/point_query.rs.html#115-122">Source</a><a href="#method.project_point_and_get_feature" class="anchor">§</a><h4 class="code-header">fn <a href="../query/point/trait.PointQuery.html#method.project_point_and_get_feature" class="fn">project_point_and_get_feature</a>(
&amp;self,
m: &amp;<a class="type" href="../math/type.Isometry.html" title="type parry3d::math::Isometry">Isometry</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;,
pt: &amp;<a class="type" href="../math/type.Point.html" title="type parry3d::math::Point">Point</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;,
) -&gt; (<a class="struct" href="../query/point/struct.PointProjection.html" title="struct parry3d::query::point::PointProjection">PointProjection</a>, <a class="enum" href="enum.FeatureId.html" title="enum parry3d::shape::FeatureId">FeatureId</a>)</h4></section></summary><div class='docblock'>Projects a point on the boundary of <code>self</code> transformed by <code>m</code> and returns the id of the
feature the point was projected on.</div></details><details class="toggle method-toggle" open><summary><section id="method.contains_point" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/query/point/point_query.rs.html#126-128">Source</a><a href="#method.contains_point" class="anchor">§</a><h4 class="code-header">fn <a href="../query/point/trait.PointQuery.html#method.contains_point" class="fn">contains_point</a>(&amp;self, m: &amp;<a class="type" href="../math/type.Isometry.html" title="type parry3d::math::Isometry">Isometry</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;, pt: &amp;<a class="type" href="../math/type.Point.html" title="type parry3d::math::Point">Point</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests if the given point is inside of <code>self</code> transformed by <code>m</code>.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PointQueryWithLocation-for-Polyline" class="impl"><a class="src rightside" href="../../src/parry3d/query/point/point_composite_shape.rs.html#126-139">Source</a><a href="#impl-PointQueryWithLocation-for-Polyline" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../query/point/trait.PointQueryWithLocation.html" title="trait parry3d::query::point::PointQueryWithLocation">PointQueryWithLocation</a> for <a class="struct" href="struct.Polyline.html" title="struct parry3d::shape::Polyline">Polyline</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Location" class="associatedtype trait-impl"><a class="src rightside" href="../../src/parry3d/query/point/point_composite_shape.rs.html#127">Source</a><a href="#associatedtype.Location" class="anchor">§</a><h4 class="code-header">type <a href="../query/point/trait.PointQueryWithLocation.html#associatedtype.Location" class="associatedtype">Location</a> = (<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>, <a class="enum" href="enum.SegmentPointLocation.html" title="enum parry3d::shape::SegmentPointLocation">SegmentPointLocation</a>)</h4></section></summary><div class='docblock'>Additional shape-specific projection information <a href="../query/point/trait.PointQueryWithLocation.html#associatedtype.Location">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.project_local_point_and_get_location" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/query/point/point_composite_shape.rs.html#130-138">Source</a><a href="#method.project_local_point_and_get_location" class="anchor">§</a><h4 class="code-header">fn <a href="../query/point/trait.PointQueryWithLocation.html#tymethod.project_local_point_and_get_location" class="fn">project_local_point_and_get_location</a>(
&amp;self,
point: &amp;<a class="type" href="../math/type.Point.html" title="type parry3d::math::Point">Point</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;,
solid: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a>,
) -&gt; (<a class="struct" href="../query/point/struct.PointProjection.html" title="struct parry3d::query::point::PointProjection">PointProjection</a>, Self::<a class="associatedtype" href="../query/point/trait.PointQueryWithLocation.html#associatedtype.Location" title="type parry3d::query::point::PointQueryWithLocation::Location">Location</a>)</h4></section></summary><div class='docblock'>Projects a point on <code>self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.project_point_and_get_location" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/query/point/point_query.rs.html#162-170">Source</a><a href="#method.project_point_and_get_location" class="anchor">§</a><h4 class="code-header">fn <a href="../query/point/trait.PointQueryWithLocation.html#method.project_point_and_get_location" class="fn">project_point_and_get_location</a>(
&amp;self,
m: &amp;<a class="type" href="../math/type.Isometry.html" title="type parry3d::math::Isometry">Isometry</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;,
pt: &amp;<a class="type" href="../math/type.Point.html" title="type parry3d::math::Point">Point</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;,
solid: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a>,
) -&gt; (<a class="struct" href="../query/point/struct.PointProjection.html" title="struct parry3d::query::point::PointProjection">PointProjection</a>, Self::<a class="associatedtype" href="../query/point/trait.PointQueryWithLocation.html#associatedtype.Location" title="type parry3d::query::point::PointQueryWithLocation::Location">Location</a>)</h4></section></summary><div class='docblock'>Projects a point on <code>self</code> transformed by <code>m</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.project_local_point_and_get_location_with_max_dist" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/query/point/point_query.rs.html#173-185">Source</a><a href="#method.project_local_point_and_get_location_with_max_dist" class="anchor">§</a><h4 class="code-header">fn <a href="../query/point/trait.PointQueryWithLocation.html#method.project_local_point_and_get_location_with_max_dist" class="fn">project_local_point_and_get_location_with_max_dist</a>(
&amp;self,
pt: &amp;<a class="type" href="../math/type.Point.html" title="type parry3d::math::Point">Point</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;,
solid: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a>,
max_dist: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;(<a class="struct" href="../query/point/struct.PointProjection.html" title="struct parry3d::query::point::PointProjection">PointProjection</a>, Self::<a class="associatedtype" href="../query/point/trait.PointQueryWithLocation.html#associatedtype.Location" title="type parry3d::query::point::PointQueryWithLocation::Location">Location</a>)&gt;</h4></section></summary><div class='docblock'>Projects a point on <code>self</code>, with a maximum projection distance.</div></details><details class="toggle method-toggle" open><summary><section id="method.project_point_and_get_location_with_max_dist" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/query/point/point_query.rs.html#188-201">Source</a><a href="#method.project_point_and_get_location_with_max_dist" class="anchor">§</a><h4 class="code-header">fn <a href="../query/point/trait.PointQueryWithLocation.html#method.project_point_and_get_location_with_max_dist" class="fn">project_point_and_get_location_with_max_dist</a>(
&amp;self,
m: &amp;<a class="type" href="../math/type.Isometry.html" title="type parry3d::math::Isometry">Isometry</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;,
pt: &amp;<a class="type" href="../math/type.Point.html" title="type parry3d::math::Point">Point</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;,
solid: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a>,
max_dist: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;(<a class="struct" href="../query/point/struct.PointProjection.html" title="struct parry3d::query::point::PointProjection">PointProjection</a>, Self::<a class="associatedtype" href="../query/point/trait.PointQueryWithLocation.html#associatedtype.Location" title="type parry3d::query::point::PointQueryWithLocation::Location">Location</a>)&gt;</h4></section></summary><div class='docblock'>Projects a point on <code>self</code> transformed by <code>m</code>, with a maximum projection distance.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-RayCast-for-Polyline" class="impl"><a class="src rightside" href="../../src/parry3d/query/ray/ray_composite_shape.rs.html#48-77">Source</a><a href="#impl-RayCast-for-Polyline" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../query/details/trait.RayCast.html" title="trait parry3d::query::details::RayCast">RayCast</a> for <a class="struct" href="struct.Polyline.html" title="struct parry3d::shape::Polyline">Polyline</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cast_local_ray" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/query/ray/ray_composite_shape.rs.html#50-57">Source</a><a href="#method.cast_local_ray" class="anchor">§</a><h4 class="code-header">fn <a href="../query/details/trait.RayCast.html#method.cast_local_ray" class="fn">cast_local_ray</a>(
&amp;self,
ray: &amp;<a class="struct" href="../query/details/struct.Ray.html" title="struct parry3d::query::details::Ray">Ray</a>,
max_time_of_impact: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>,
solid: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;</h4></section></summary><div class='docblock'>Computes the time of impact between this transform shape and a ray.</div></details><details class="toggle method-toggle" open><summary><section id="method.cast_local_ray_and_get_normal" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/query/ray/ray_composite_shape.rs.html#60-76">Source</a><a href="#method.cast_local_ray_and_get_normal" class="anchor">§</a><h4 class="code-header">fn <a href="../query/details/trait.RayCast.html#tymethod.cast_local_ray_and_get_normal" class="fn">cast_local_ray_and_get_normal</a>(
&amp;self,
ray: &amp;<a class="struct" href="../query/details/struct.Ray.html" title="struct parry3d::query::details::Ray">Ray</a>,
max_time_of_impact: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>,
solid: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../query/details/struct.RayIntersection.html" title="struct parry3d::query::details::RayIntersection">RayIntersection</a>&gt;</h4></section></summary><div class='docblock'>Computes the time of impact, and normal between this transformed shape and a ray.</div></details><details class="toggle method-toggle" open><summary><section id="method.intersects_local_ray" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/query/ray/ray.rs.html#140-142">Source</a><a href="#method.intersects_local_ray" class="anchor">§</a><h4 class="code-header">fn <a href="../query/details/trait.RayCast.html#method.intersects_local_ray" class="fn">intersects_local_ray</a>(&amp;self, ray: &amp;<a class="struct" href="../query/details/struct.Ray.html" title="struct parry3d::query::details::Ray">Ray</a>, max_time_of_impact: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests whether a ray intersects this transformed shape.</div></details><details class="toggle method-toggle" open><summary><section id="method.cast_ray" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/query/ray/ray.rs.html#145-154">Source</a><a href="#method.cast_ray" class="anchor">§</a><h4 class="code-header">fn <a href="../query/details/trait.RayCast.html#method.cast_ray" class="fn">cast_ray</a>(
&amp;self,
m: &amp;<a class="type" href="../math/type.Isometry.html" title="type parry3d::math::Isometry">Isometry</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;,
ray: &amp;<a class="struct" href="../query/details/struct.Ray.html" title="struct parry3d::query::details::Ray">Ray</a>,
max_time_of_impact: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>,
solid: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;</h4></section></summary><div class='docblock'>Computes the time of impact between this transform shape and a ray.</div></details><details class="toggle method-toggle" open><summary><section id="method.cast_ray_and_get_normal" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/query/ray/ray.rs.html#157-167">Source</a><a href="#method.cast_ray_and_get_normal" class="anchor">§</a><h4 class="code-header">fn <a href="../query/details/trait.RayCast.html#method.cast_ray_and_get_normal" class="fn">cast_ray_and_get_normal</a>(
&amp;self,
m: &amp;<a class="type" href="../math/type.Isometry.html" title="type parry3d::math::Isometry">Isometry</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;,
ray: &amp;<a class="struct" href="../query/details/struct.Ray.html" title="struct parry3d::query::details::Ray">Ray</a>,
max_time_of_impact: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>,
solid: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../query/details/struct.RayIntersection.html" title="struct parry3d::query::details::RayIntersection">RayIntersection</a>&gt;</h4></section></summary><div class='docblock'>Computes the time of impact, and normal between this transformed shape and a ray.</div></details><details class="toggle method-toggle" open><summary><section id="method.intersects_ray" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/query/ray/ray.rs.html#171-174">Source</a><a href="#method.intersects_ray" class="anchor">§</a><h4 class="code-header">fn <a href="../query/details/trait.RayCast.html#method.intersects_ray" class="fn">intersects_ray</a>(
&amp;self,
m: &amp;<a class="type" href="../math/type.Isometry.html" title="type parry3d::math::Isometry">Isometry</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;,
ray: &amp;<a class="struct" href="../query/details/struct.Ray.html" title="struct parry3d::query::details::Ray">Ray</a>,
max_time_of_impact: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>,
) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests whether a ray intersects this transformed shape.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Serialize-for-Polyline" class="impl"><a class="src rightside" href="../../src/parry3d/shape/polyline.rs.html#13">Source</a><a href="#impl-Serialize-for-Polyline" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../../serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="struct.Polyline.html" title="struct parry3d::shape::Polyline">Polyline</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.serialize" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/shape/polyline.rs.html#13">Source</a><a href="#method.serialize" class="anchor">§</a><h4 class="code-header">fn <a href="../../serde/ser/trait.Serialize.html#tymethod.serialize" class="fn">serialize</a>&lt;__S&gt;(&amp;self, __serializer: __S) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;__S::<a class="associatedtype" href="../../serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="associatedtype" href="../../serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>&gt;<div class="where">where
__S: <a class="trait" href="../../serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>,</div></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href="../../serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Shape-for-Polyline" class="impl"><a class="src rightside" href="../../src/parry3d/shape/shape.rs.html#1039-1086">Source</a><a href="#impl-Shape-for-Polyline" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Shape.html" title="trait parry3d::shape::Shape">Shape</a> for <a class="struct" href="struct.Polyline.html" title="struct parry3d::shape::Polyline">Polyline</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone_dyn" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/shape/shape.rs.html#1040-1042">Source</a><a href="#method.clone_dyn" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Shape.html#tymethod.clone_dyn" class="fn">clone_dyn</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.84.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="trait.Shape.html" title="trait parry3d::shape::Shape">Shape</a>&gt;</h4></section></summary><div class='docblock'>Clones this shape into a boxed trait-object. <a href="trait.Shape.html#tymethod.clone_dyn">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.scale_dyn" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/shape/shape.rs.html#1044-1046">Source</a><a href="#method.scale_dyn" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Shape.html#tymethod.scale_dyn" class="fn">scale_dyn</a>(
&amp;self,
scale: &amp;<a class="type" href="../math/type.Vector.html" title="type parry3d::math::Vector">Vector</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;,
_num_subdivisions: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.84.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="trait.Shape.html" title="trait parry3d::shape::Shape">Shape</a>&gt;&gt;</h4></section></summary><div class='docblock'>Scales this shape by <code>scale</code> into a boxed trait-object. <a href="trait.Shape.html#tymethod.scale_dyn">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.compute_local_aabb" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/shape/shape.rs.html#1048-1050">Source</a><a href="#method.compute_local_aabb" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Shape.html#tymethod.compute_local_aabb" class="fn">compute_local_aabb</a>(&amp;self) -&gt; <a class="struct" href="../bounding_volume/struct.Aabb.html" title="struct parry3d::bounding_volume::Aabb">Aabb</a></h4></section></summary><div class='docblock'>Computes the <a href="../bounding_volume/struct.Aabb.html" title="struct parry3d::bounding_volume::Aabb"><code>Aabb</code></a> of this shape.</div></details><details class="toggle method-toggle" open><summary><section id="method.compute_local_bounding_sphere" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/shape/shape.rs.html#1052-1054">Source</a><a href="#method.compute_local_bounding_sphere" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Shape.html#tymethod.compute_local_bounding_sphere" class="fn">compute_local_bounding_sphere</a>(&amp;self) -&gt; <a class="struct" href="../bounding_volume/struct.BoundingSphere.html" title="struct parry3d::bounding_volume::BoundingSphere">BoundingSphere</a></h4></section></summary><div class='docblock'>Computes the bounding-sphere of this shape.</div></details><details class="toggle method-toggle" open><summary><section id="method.compute_aabb" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/shape/shape.rs.html#1056-1058">Source</a><a href="#method.compute_aabb" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Shape.html#method.compute_aabb" class="fn">compute_aabb</a>(&amp;self, position: &amp;<a class="type" href="../math/type.Isometry.html" title="type parry3d::math::Isometry">Isometry</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;) -&gt; <a class="struct" href="../bounding_volume/struct.Aabb.html" title="struct parry3d::bounding_volume::Aabb">Aabb</a></h4></section></summary><div class='docblock'>Computes the <a href="../bounding_volume/struct.Aabb.html" title="struct parry3d::bounding_volume::Aabb"><code>Aabb</code></a> of this shape with the given position.</div></details><details class="toggle method-toggle" open><summary><section id="method.mass_properties" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/shape/shape.rs.html#1060-1062">Source</a><a href="#method.mass_properties" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Shape.html#tymethod.mass_properties" class="fn">mass_properties</a>(&amp;self, _density: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>) -&gt; <a class="struct" href="../mass_properties/struct.MassProperties.html" title="struct parry3d::mass_properties::MassProperties">MassProperties</a></h4></section></summary><div class='docblock'>Compute the mass-properties of this shape given its uniform density.</div></details><details class="toggle method-toggle" open><summary><section id="method.shape_type" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/shape/shape.rs.html#1064-1066">Source</a><a href="#method.shape_type" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Shape.html#tymethod.shape_type" class="fn">shape_type</a>(&amp;self) -&gt; <a class="enum" href="enum.ShapeType.html" title="enum parry3d::shape::ShapeType">ShapeType</a></h4></section></summary><div class='docblock'>Gets the type tag of this shape.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_typed_shape" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/shape/shape.rs.html#1068-1070">Source</a><a href="#method.as_typed_shape" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Shape.html#tymethod.as_typed_shape" class="fn">as_typed_shape</a>(&amp;self) -&gt; <a class="enum" href="enum.TypedShape.html" title="enum parry3d::shape::TypedShape">TypedShape</a>&lt;'_&gt;</h4></section></summary><div class='docblock'>Gets the underlying shape as an enum.</div></details><section id="method.ccd_thickness" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/shape/shape.rs.html#1072-1074">Source</a><a href="#method.ccd_thickness" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Shape.html#tymethod.ccd_thickness" class="fn">ccd_thickness</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a></h4></section><section id="method.ccd_angular_thickness" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/shape/shape.rs.html#1076-1080">Source</a><a href="#method.ccd_angular_thickness" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Shape.html#tymethod.ccd_angular_thickness" class="fn">ccd_angular_thickness</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a></h4></section><section id="method.as_composite_shape" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/shape/shape.rs.html#1083-1085">Source</a><a href="#method.as_composite_shape" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Shape.html#method.as_composite_shape" class="fn">as_composite_shape</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;dyn <a class="trait" href="trait.SimdCompositeShape.html" title="trait parry3d::shape::SimdCompositeShape">SimdCompositeShape</a>&gt;</h4></section><details class="toggle method-toggle" open><summary><section id="method.clone_box" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/shape/shape.rs.html#336-338">Source</a><a href="#method.clone_box" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Shape.html#method.clone_box" class="fn">clone_box</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.84.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="trait.Shape.html" title="trait parry3d::shape::Shape">Shape</a>&gt;</h4></section></summary><span class="item-info"><div class="stab deprecated"><span class="emoji">👎</span><span>Deprecated: renamed to <code>clone_dyn</code></span></div></span><div class='docblock'>Clones this shape into a boxed trait-object. <a href="trait.Shape.html#method.clone_box">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.compute_bounding_sphere" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/shape/shape.rs.html#359-361">Source</a><a href="#method.compute_bounding_sphere" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Shape.html#method.compute_bounding_sphere" class="fn">compute_bounding_sphere</a>(&amp;self, position: &amp;<a class="type" href="../math/type.Isometry.html" title="type parry3d::math::Isometry">Isometry</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;) -&gt; <a class="struct" href="../bounding_volume/struct.BoundingSphere.html" title="struct parry3d::bounding_volume::BoundingSphere">BoundingSphere</a></h4></section></summary><div class='docblock'>Computes the bounding-sphere of this shape with the given position.</div></details><details class="toggle method-toggle" open><summary><section id="method.is_convex" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/shape/shape.rs.html#387-389">Source</a><a href="#method.is_convex" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Shape.html#method.is_convex" class="fn">is_convex</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Is this shape known to be convex? <a href="trait.Shape.html#method.is_convex">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_support_map" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/shape/shape.rs.html#392-394">Source</a><a href="#method.as_support_map" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Shape.html#method.as_support_map" class="fn">as_support_map</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;dyn <a class="trait" href="trait.SupportMap.html" title="trait parry3d::shape::SupportMap">SupportMap</a>&gt;</h4></section></summary><div class='docblock'>Converts this shape into its support mapping, if it has one.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_polygonal_feature_map" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/shape/shape.rs.html#402-404">Source</a><a href="#method.as_polygonal_feature_map" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Shape.html#method.as_polygonal_feature_map" class="fn">as_polygonal_feature_map</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;(&amp;dyn <a class="trait" href="trait.PolygonalFeatureMap.html" title="trait parry3d::shape::PolygonalFeatureMap">PolygonalFeatureMap</a>, <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>)&gt;</h4></section></summary><div class='docblock'>Converts this shape to a polygonal feature-map, if it is one.</div></details><details class="toggle method-toggle" open><summary><section id="method.feature_normal_at_point" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/shape/shape.rs.html#411-417">Source</a><a href="#method.feature_normal_at_point" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Shape.html#method.feature_normal_at_point" class="fn">feature_normal_at_point</a>(
&amp;self,
_feature: <a class="enum" href="enum.FeatureId.html" title="enum parry3d::shape::FeatureId">FeatureId</a>,
_point: &amp;<a class="type" href="../math/type.Point.html" title="type parry3d::math::Point">Point</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../nalgebra/base/unit/struct.Unit.html" title="struct nalgebra::base::unit::Unit">Unit</a>&lt;<a class="type" href="../math/type.Vector.html" title="type parry3d::math::Vector">Vector</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;&gt;&gt;</h4></section></summary><div class='docblock'>The shapes normal at the given point located on a specific feature.</div></details><details class="toggle method-toggle" open><summary><section id="method.compute_swept_aabb" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/shape/shape.rs.html#421-425">Source</a><a href="#method.compute_swept_aabb" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Shape.html#method.compute_swept_aabb" class="fn">compute_swept_aabb</a>(
&amp;self,
start_pos: &amp;<a class="type" href="../math/type.Isometry.html" title="type parry3d::math::Isometry">Isometry</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;,
end_pos: &amp;<a class="type" href="../math/type.Isometry.html" title="type parry3d::math::Isometry">Isometry</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;,
) -&gt; <a class="struct" href="../bounding_volume/struct.Aabb.html" title="struct parry3d::bounding_volume::Aabb">Aabb</a></h4></section></summary><div class='docblock'>Computes the swept <a href="../bounding_volume/struct.Aabb.html" title="struct parry3d::bounding_volume::Aabb"><code>Aabb</code></a> of this shape, i.e., the space it would occupy by moving from
the given start position to the given end position.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-SimdCompositeShape-for-Polyline" class="impl"><a class="src rightside" href="../../src/parry3d/shape/polyline.rs.html#282-295">Source</a><a href="#impl-SimdCompositeShape-for-Polyline" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.SimdCompositeShape.html" title="trait parry3d::shape::SimdCompositeShape">SimdCompositeShape</a> for <a class="struct" href="struct.Polyline.html" title="struct parry3d::shape::Polyline">Polyline</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.map_part_at" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/shape/polyline.rs.html#283-290">Source</a><a href="#method.map_part_at" class="anchor">§</a><h4 class="code-header">fn <a href="trait.SimdCompositeShape.html#tymethod.map_part_at" class="fn">map_part_at</a>(
&amp;self,
i: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
f: &amp;mut dyn <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="enum" href="https://doc.rust-lang.org/1.84.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="type" href="../math/type.Isometry.html" title="type parry3d::math::Isometry">Isometry</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;&gt;, &amp;dyn <a class="trait" href="trait.Shape.html" title="trait parry3d::shape::Shape">Shape</a>, <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;dyn <a class="trait" href="../query/details/trait.NormalConstraints.html" title="trait parry3d::query::details::NormalConstraints">NormalConstraints</a>&gt;),
)</h4></section></summary><div class='docblock'>Applies a function to one sub-shape of this composite shape.</div></details><details class="toggle method-toggle" open><summary><section id="method.qbvh" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/shape/polyline.rs.html#292-294">Source</a><a href="#method.qbvh" class="anchor">§</a><h4 class="code-header">fn <a href="trait.SimdCompositeShape.html#tymethod.qbvh" class="fn">qbvh</a>(&amp;self) -&gt; &amp;<a class="struct" href="../partitioning/struct.Qbvh.html" title="struct parry3d::partitioning::Qbvh">Qbvh</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>&gt;</h4></section></summary><div class='docblock'>Gets the acceleration structure of the composite shape.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-TypedSimdCompositeShape-for-Polyline" class="impl"><a class="src rightside" href="../../src/parry3d/shape/polyline.rs.html#297-329">Source</a><a href="#impl-TypedSimdCompositeShape-for-Polyline" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.TypedSimdCompositeShape.html" title="trait parry3d::shape::TypedSimdCompositeShape">TypedSimdCompositeShape</a> for <a class="struct" href="struct.Polyline.html" title="struct parry3d::shape::Polyline">Polyline</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PartShape" class="associatedtype trait-impl"><a class="src rightside" href="../../src/parry3d/shape/polyline.rs.html#298">Source</a><a href="#associatedtype.PartShape" class="anchor">§</a><h4 class="code-header">type <a href="trait.TypedSimdCompositeShape.html#associatedtype.PartShape" class="associatedtype">PartShape</a> = <a class="struct" href="struct.Segment.html" title="struct parry3d::shape::Segment">Segment</a></h4></section><section id="associatedtype.PartNormalConstraints" class="associatedtype trait-impl"><a class="src rightside" href="../../src/parry3d/shape/polyline.rs.html#299">Source</a><a href="#associatedtype.PartNormalConstraints" class="anchor">§</a><h4 class="code-header">type <a href="trait.TypedSimdCompositeShape.html#associatedtype.PartNormalConstraints" class="associatedtype">PartNormalConstraints</a> = <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.unit.html">()</a></h4></section><section id="associatedtype.PartId" class="associatedtype trait-impl"><a class="src rightside" href="../../src/parry3d/shape/polyline.rs.html#300">Source</a><a href="#associatedtype.PartId" class="anchor">§</a><h4 class="code-header">type <a href="trait.TypedSimdCompositeShape.html#associatedtype.PartId" class="associatedtype">PartId</a> = <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a></h4></section><section id="method.map_typed_part_at" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/shape/polyline.rs.html#303-314">Source</a><a href="#method.map_typed_part_at" class="anchor">§</a><h4 class="code-header">fn <a href="trait.TypedSimdCompositeShape.html#tymethod.map_typed_part_at" class="fn">map_typed_part_at</a>(
&amp;self,
i: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
f: impl <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="enum" href="https://doc.rust-lang.org/1.84.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="type" href="../math/type.Isometry.html" title="type parry3d::math::Isometry">Isometry</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;&gt;, &amp;Self::<a class="associatedtype" href="trait.TypedSimdCompositeShape.html#associatedtype.PartShape" title="type parry3d::shape::TypedSimdCompositeShape::PartShape">PartShape</a>, <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;Self::<a class="associatedtype" href="trait.TypedSimdCompositeShape.html#associatedtype.PartNormalConstraints" title="type parry3d::shape::TypedSimdCompositeShape::PartNormalConstraints">PartNormalConstraints</a>&gt;),
)</h4></section><section id="method.map_untyped_part_at" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/shape/polyline.rs.html#317-324">Source</a><a href="#method.map_untyped_part_at" class="anchor">§</a><h4 class="code-header">fn <a href="trait.TypedSimdCompositeShape.html#tymethod.map_untyped_part_at" class="fn">map_untyped_part_at</a>(
&amp;self,
i: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
f: impl <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="enum" href="https://doc.rust-lang.org/1.84.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="type" href="../math/type.Isometry.html" title="type parry3d::math::Isometry">Isometry</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>&gt;&gt;, &amp;dyn <a class="trait" href="trait.Shape.html" title="trait parry3d::shape::Shape">Shape</a>, <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;dyn <a class="trait" href="../query/details/trait.NormalConstraints.html" title="trait parry3d::query::details::NormalConstraints">NormalConstraints</a>&gt;),
)</h4></section><section id="method.typed_qbvh" class="method trait-impl"><a class="src rightside" href="../../src/parry3d/shape/polyline.rs.html#326-328">Source</a><a href="#method.typed_qbvh" class="anchor">§</a><h4 class="code-header">fn <a href="trait.TypedSimdCompositeShape.html#tymethod.typed_qbvh" class="fn">typed_qbvh</a>(&amp;self) -&gt; &amp;<a class="struct" href="../partitioning/struct.Qbvh.html" title="struct parry3d::partitioning::Qbvh">Qbvh</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>&gt;</h4></section></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-Polyline" class="impl"><a href="#impl-Freeze-for-Polyline" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.Polyline.html" title="struct parry3d::shape::Polyline">Polyline</a></h3></section><section id="impl-RefUnwindSafe-for-Polyline" class="impl"><a href="#impl-RefUnwindSafe-for-Polyline" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Polyline.html" title="struct parry3d::shape::Polyline">Polyline</a></h3></section><section id="impl-Send-for-Polyline" class="impl"><a href="#impl-Send-for-Polyline" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Polyline.html" title="struct parry3d::shape::Polyline">Polyline</a></h3></section><section id="impl-Sync-for-Polyline" class="impl"><a href="#impl-Sync-for-Polyline" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Polyline.html" title="struct parry3d::shape::Polyline">Polyline</a></h3></section><section id="impl-Unpin-for-Polyline" class="impl"><a href="#impl-Unpin-for-Polyline" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Polyline.html" title="struct parry3d::shape::Polyline">Polyline</a></h3></section><section id="impl-UnwindSafe-for-Polyline" class="impl"><a href="#impl-UnwindSafe-for-Polyline" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Polyline.html" title="struct parry3d::shape::Polyline">Polyline</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/any.rs.html#138">Source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.84.0/src/core/any.rs.html#139">Source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.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.84.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.84.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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/borrow.rs.html#209">Source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.84.0/src/core/borrow.rs.html#211">Source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.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.84.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.84.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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/borrow.rs.html#217">Source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.84.0/src/core/borrow.rs.html#218">Source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.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.84.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.84.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-CloneToUninit-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/clone.rs.html#273">Source</a><a href="#impl-CloneToUninit-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/clone/trait.CloneToUninit.html" title="trait core::clone::CloneToUninit">CloneToUninit</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone_to_uninit" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/clone.rs.html#275">Source</a><a href="#method.clone_to_uninit" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="https://doc.rust-lang.org/1.84.0/core/clone/trait.CloneToUninit.html#tymethod.clone_to_uninit" class="fn">clone_to_uninit</a>(&amp;self, dst: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.pointer.html">*mut </a><a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u8.html">u8</a>)</h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>clone_to_uninit</code>)</span></div></span><div class='docblock'>Performs copy-assignment from <code>self</code> to <code>dst</code>. <a href="https://doc.rust-lang.org/1.84.0/core/clone/trait.CloneToUninit.html#tymethod.clone_to_uninit">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Downcast-for-T" class="impl"><a class="src rightside" href="../../src/downcast_rs/lib.rs.html#189">Source</a><a href="#impl-Downcast-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../downcast_rs/trait.Downcast.html" title="trait downcast_rs::Downcast">Downcast</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into_any" class="method trait-impl"><a class="src rightside" href="../../src/downcast_rs/lib.rs.html#190">Source</a><a href="#method.into_any" class="anchor">§</a><h4 class="code-header">fn <a href="../../downcast_rs/trait.Downcast.html#tymethod.into_any" class="fn">into_any</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.84.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;T&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.84.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.84.0/core/any/trait.Any.html" title="trait core::any::Any">Any</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 class="src rightside" href="../../src/downcast_rs/lib.rs.html#191">Source</a><a href="#method.into_any_rc" class="anchor">§</a><h4 class="code-header">fn <a href="../../downcast_rs/trait.Downcast.html#tymethod.into_any_rc" class="fn">into_any_rc</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.84.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;T&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.84.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.84.0/core/any/trait.Any.html" title="trait core::any::Any">Any</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 class="src rightside" href="../../src/downcast_rs/lib.rs.html#192">Source</a><a href="#method.as_any" class="anchor">§</a><h4 class="code-header">fn <a href="../../downcast_rs/trait.Downcast.html#tymethod.as_any" class="fn">as_any</a>(&amp;self) -&gt; &amp;(dyn <a class="trait" href="https://doc.rust-lang.org/1.84.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 class="src rightside" href="../../src/downcast_rs/lib.rs.html#193">Source</a><a href="#method.as_any_mut" class="anchor">§</a><h4 class="code-header">fn <a href="../../downcast_rs/trait.Downcast.html#tymethod.as_any_mut" class="fn">as_any_mut</a>(&amp;mut self) -&gt; &amp;mut (dyn <a class="trait" href="https://doc.rust-lang.org/1.84.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-T" class="impl"><a class="src rightside" href="../../src/downcast_rs/lib.rs.html#203">Source</a><a href="#impl-DowncastSync-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../downcast_rs/trait.DowncastSync.html" title="trait downcast_rs::DowncastSync">DowncastSync</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></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 class="src rightside" href="../../src/downcast_rs/lib.rs.html#204">Source</a><a href="#method.into_any_arc" class="anchor">§</a><h4 class="code-header">fn <a href="../../downcast_rs/trait.DowncastSync.html#tymethod.into_any_arc" class="fn">into_any_arc</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.84.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;T&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.84.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.84.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#765">Source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.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.84.0/src/core/convert/mod.rs.html#768">Source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.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-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#748-750">Source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.84.0/src/core/convert/mod.rs.html#758">Source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.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.84.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-IntoEither-for-T" class="impl"><a class="src rightside" href="../../src/either/into_either.rs.html#64">Source</a><a href="#impl-IntoEither-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../either/into_either/trait.IntoEither.html" title="trait either::into_either::IntoEither">IntoEither</a> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into_either" class="method trait-impl"><a class="src rightside" href="../../src/either/into_either.rs.html#29">Source</a><a href="#method.into_either" class="anchor">§</a><h4 class="code-header">fn <a href="../../either/into_either/trait.IntoEither.html#method.into_either" class="fn">into_either</a>(self, into_left: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a>) -&gt; <a class="enum" href="../../either/enum.Either.html" title="enum either::Either">Either</a>&lt;Self, Self&gt;</h4></section></summary><div class='docblock'>Converts <code>self</code> into a <a href="../../either/enum.Either.html#variant.Left" title="variant either::Either::Left"><code>Left</code></a> variant of <a href="../../either/enum.Either.html" title="enum either::Either"><code>Either&lt;Self, Self&gt;</code></a>
if <code>into_left</code> is <code>true</code>.
Converts <code>self</code> into a <a href="../../either/enum.Either.html#variant.Right" title="variant either::Either::Right"><code>Right</code></a> variant of <a href="../../either/enum.Either.html" title="enum either::Either"><code>Either&lt;Self, Self&gt;</code></a>
otherwise. <a href="../../either/into_either/trait.IntoEither.html#method.into_either">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_either_with" class="method trait-impl"><a class="src rightside" href="../../src/either/into_either.rs.html#55-57">Source</a><a href="#method.into_either_with" class="anchor">§</a><h4 class="code-header">fn <a href="../../either/into_either/trait.IntoEither.html#method.into_either_with" class="fn">into_either_with</a>&lt;F&gt;(self, into_left: F) -&gt; <a class="enum" href="../../either/enum.Either.html" title="enum either::Either">Either</a>&lt;Self, Self&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&amp;Self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a>,</div></h4></section></summary><div class='docblock'>Converts <code>self</code> into a <a href="../../either/enum.Either.html#variant.Left" title="variant either::Either::Left"><code>Left</code></a> variant of <a href="../../either/enum.Either.html" title="enum either::Either"><code>Either&lt;Self, Self&gt;</code></a>
if <code>into_left(&amp;self)</code> returns <code>true</code>.
Converts <code>self</code> into a <a href="../../either/enum.Either.html#variant.Right" title="variant either::Either::Right"><code>Right</code></a> variant of <a href="../../either/enum.Either.html" title="enum either::Either"><code>Either&lt;Self, Self&gt;</code></a>
otherwise. <a href="../../either/into_either/trait.IntoEither.html#method.into_either_with">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Same-for-T" class="impl"><a class="src rightside" href="../../src/typenum/type_operators.rs.html#34">Source</a><a href="#impl-Same-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../typenum/type_operators/trait.Same.html" title="trait typenum::type_operators::Same">Same</a> for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl"><a class="src rightside" href="../../src/typenum/type_operators.rs.html#35">Source</a><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="../../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-SupersetOf%3CSS%3E-for-SP" class="impl"><a class="src rightside" href="../../src/simba/scalar/subset.rs.html#87">Source</a><a href="#impl-SupersetOf%3CSS%3E-for-SP" class="anchor">§</a><h3 class="code-header">impl&lt;SS, SP&gt; <a class="trait" href="../../simba/scalar/subset/trait.SupersetOf.html" title="trait simba::scalar::subset::SupersetOf">SupersetOf</a>&lt;SS&gt; for SP<div class="where">where
SS: <a class="trait" href="../../simba/scalar/subset/trait.SubsetOf.html" title="trait simba::scalar::subset::SubsetOf">SubsetOf</a>&lt;SP&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.to_subset" class="method trait-impl"><a class="src rightside" href="../../src/simba/scalar/subset.rs.html#89">Source</a><a href="#method.to_subset" class="anchor">§</a><h4 class="code-header">fn <a href="../../simba/scalar/subset/trait.SupersetOf.html#method.to_subset" class="fn">to_subset</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;SS&gt;</h4></section></summary><div class='docblock'>The inverse inclusion map: attempts to construct <code>self</code> from the equivalent element of its
superset. <a href="../../simba/scalar/subset/trait.SupersetOf.html#method.to_subset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_in_subset" class="method trait-impl"><a class="src rightside" href="../../src/simba/scalar/subset.rs.html#94">Source</a><a href="#method.is_in_subset" class="anchor">§</a><h4 class="code-header">fn <a href="../../simba/scalar/subset/trait.SupersetOf.html#tymethod.is_in_subset" class="fn">is_in_subset</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Checks if <code>self</code> is actually part of its subset <code>T</code> (and can be converted to it).</div></details><details class="toggle method-toggle" open><summary><section id="method.to_subset_unchecked" class="method trait-impl"><a class="src rightside" href="../../src/simba/scalar/subset.rs.html#99">Source</a><a href="#method.to_subset_unchecked" class="anchor">§</a><h4 class="code-header">fn <a href="../../simba/scalar/subset/trait.SupersetOf.html#tymethod.to_subset_unchecked" class="fn">to_subset_unchecked</a>(&amp;self) -&gt; SS</h4></section></summary><div class='docblock'>Use with care! Same as <code>self.to_subset</code> but without any property checks. Always succeeds.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_subset" class="method trait-impl"><a class="src rightside" href="../../src/simba/scalar/subset.rs.html#104">Source</a><a href="#method.from_subset" class="anchor">§</a><h4 class="code-header">fn <a href="../../simba/scalar/subset/trait.SupersetOf.html#tymethod.from_subset" class="fn">from_subset</a>(element: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.reference.html">&amp;SS</a>) -&gt; SP</h4></section></summary><div class='docblock'>The inclusion map: converts <code>self</code> to the equivalent element of its superset.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/alloc/borrow.rs.html#82-84">Source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/alloc/borrow.rs.html#86">Source</a><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.84.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/alloc/borrow.rs.html#87">Source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.84.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/alloc/borrow.rs.html#91">Source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.reference.html">&amp;mut T</a>)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.84.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#805-807">Source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#809">Source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.84.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.84.0/src/core/convert/mod.rs.html#812">Source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.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.84.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.84.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.84.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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#790-792">Source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#794">Source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.84.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.84.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.84.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.84.0/src/core/convert/mod.rs.html#797">Source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.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.84.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.84.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.84.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><section id="impl-DeserializeOwned-for-T" class="impl"><a class="src rightside" href="../../src/serde/de/mod.rs.html#614">Source</a><a href="#impl-DeserializeOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> for T<div class="where">where
T: for&lt;'de&gt; <a class="trait" href="../../serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a>&lt;'de&gt;,</div></h3></section></div></section></div></main></body></html>