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

410 lines
244 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 3D object made out of vertices representing triangles, lines, or points, with “attribute” values for each vertex."><title>Mesh in bevy_mesh - 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="bevy_mesh" 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="../bevy_mesh/index.html">bevy_<wbr>mesh</a><span class="version">0.15.1</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Mesh</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#manual-creation" title="Manual creation">Manual creation</a></li><li><a href="#other-examples" title="Other examples">Other examples</a></li><li><a href="#common-points-of-confusion" title="Common points of confusion">Common points of confusion</a></li><li><a href="#use-with-standardmaterial" title="Use with `StandardMaterial`">Use with <code>StandardMaterial</code></a></li></ul><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.asset_usage" title="asset_usage">asset_usage</a></li></ul><h3><a href="#implementations">Associated Constants</a></h3><ul class="block associatedconstant"><li><a href="#associatedconstant.ATTRIBUTE_COLOR" title="ATTRIBUTE_COLOR">ATTRIBUTE_COLOR</a></li><li><a href="#associatedconstant.ATTRIBUTE_JOINT_INDEX" title="ATTRIBUTE_JOINT_INDEX">ATTRIBUTE_JOINT_INDEX</a></li><li><a href="#associatedconstant.ATTRIBUTE_JOINT_WEIGHT" title="ATTRIBUTE_JOINT_WEIGHT">ATTRIBUTE_JOINT_WEIGHT</a></li><li><a href="#associatedconstant.ATTRIBUTE_NORMAL" title="ATTRIBUTE_NORMAL">ATTRIBUTE_NORMAL</a></li><li><a href="#associatedconstant.ATTRIBUTE_POSITION" title="ATTRIBUTE_POSITION">ATTRIBUTE_POSITION</a></li><li><a href="#associatedconstant.ATTRIBUTE_TANGENT" title="ATTRIBUTE_TANGENT">ATTRIBUTE_TANGENT</a></li><li><a href="#associatedconstant.ATTRIBUTE_UV_0" title="ATTRIBUTE_UV_0">ATTRIBUTE_UV_0</a></li><li><a href="#associatedconstant.ATTRIBUTE_UV_1" title="ATTRIBUTE_UV_1">ATTRIBUTE_UV_1</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.attribute" title="attribute">attribute</a></li><li><a href="#method.attribute_mut" title="attribute_mut">attribute_mut</a></li><li><a href="#method.attributes" title="attributes">attributes</a></li><li><a href="#method.attributes_mut" title="attributes_mut">attributes_mut</a></li><li><a href="#method.compute_flat_normals" title="compute_flat_normals">compute_flat_normals</a></li><li><a href="#method.compute_normals" title="compute_normals">compute_normals</a></li><li><a href="#method.compute_smooth_normals" title="compute_smooth_normals">compute_smooth_normals</a></li><li><a href="#method.contains_attribute" title="contains_attribute">contains_attribute</a></li><li><a href="#method.count_vertices" title="count_vertices">count_vertices</a></li><li><a href="#method.create_packed_vertex_buffer_data" title="create_packed_vertex_buffer_data">create_packed_vertex_buffer_data</a></li><li><a href="#method.duplicate_vertices" title="duplicate_vertices">duplicate_vertices</a></li><li><a href="#method.generate_tangents" title="generate_tangents">generate_tangents</a></li><li><a href="#method.get_index_buffer_bytes" title="get_index_buffer_bytes">get_index_buffer_bytes</a></li><li><a href="#method.get_mesh_vertex_buffer_layout" title="get_mesh_vertex_buffer_layout">get_mesh_vertex_buffer_layout</a></li><li><a href="#method.get_vertex_buffer_size" title="get_vertex_buffer_size">get_vertex_buffer_size</a></li><li><a href="#method.get_vertex_size" title="get_vertex_size">get_vertex_size</a></li><li><a href="#method.has_morph_targets" title="has_morph_targets">has_morph_targets</a></li><li><a href="#method.indices" title="indices">indices</a></li><li><a href="#method.indices_mut" title="indices_mut">indices_mut</a></li><li><a href="#method.insert_attribute" title="insert_attribute">insert_attribute</a></li><li><a href="#method.insert_indices" title="insert_indices">insert_indices</a></li><li><a href="#method.invert_winding" title="invert_winding">invert_winding</a></li><li><a href="#method.merge" title="merge">merge</a></li><li><a href="#method.morph_target_names" title="morph_target_names">morph_target_names</a></li><li><a href="#method.morph_targets" title="morph_targets">morph_targets</a></li><li><a href="#method.new" title="new">new</a></li><li><a href="#method.normalize_joint_weights" title="normalize_joint_weights">normalize_joint_weights</a></li><li><a href="#method.primitive_topology" title="primitive_topology">primitive_topology</a></li><li><a href="#method.remove_attribute" title="remove_attribute">remove_attribute</a></li><li><a href="#method.remove_indices" title="remove_indices">remove_indices</a></li><li><a href="#method.rotate_by" title="rotate_by">rotate_by</a></li><li><a href="#method.rotated_by" title="rotated_by">rotated_by</a></li><li><a href="#method.scale_by" title="scale_by">scale_by</a></li><li><a href="#method.scaled_by" title="scaled_by">scaled_by</a></li><li><a href="#method.set_morph_target_names" title="set_morph_target_names">set_morph_target_names</a></li><li><a href="#method.set_morph_targets" title="set_morph_targets">set_morph_targets</a></li><li><a href="#method.transform_by" title="transform_by">transform_by</a></li><li><a href="#method.transformed_by" title="transformed_by">transformed_by</a></li><li><a href="#method.translate_by" title="translate_by">translate_by</a></li><li><a href="#method.translated_by" title="translated_by">translated_by</a></li><li><a href="#method.triangles" title="triangles">triangles</a></li><li><a href="#method.with_computed_flat_normals" title="with_computed_flat_normals">with_computed_flat_normals</a></li><li><a href="#method.with_computed_normals" title="with_computed_normals">with_computed_normals</a></li><li><a href="#method.with_computed_smooth_normals" title="with_computed_smooth_normals">with_computed_smooth_normals</a></li><li><a href="#method.with_duplicated_vertices" title="with_duplicated_vertices">with_duplicated_vertices</a></li><li><a href="#method.with_generated_tangents" title="with_generated_tangents">with_generated_tangents</a></li><li><a href="#method.with_inserted_attribute" title="with_inserted_attribute">with_inserted_attribute</a></li><li><a href="#method.with_inserted_indices" title="with_inserted_indices">with_inserted_indices</a></li><li><a href="#method.with_inverted_winding" title="with_inverted_winding">with_inverted_winding</a></li><li><a href="#method.with_morph_target_names" title="with_morph_target_names">with_morph_target_names</a></li><li><a href="#method.with_morph_targets" title="with_morph_targets">with_morph_targets</a></li><li><a href="#method.with_removed_attribute" title="with_removed_attribute">with_removed_attribute</a></li><li><a href="#method.with_removed_indices" title="with_removed_indices">with_removed_indices</a></li><li><a href="#method.write_packed_vertex_buffer_data" title="write_packed_vertex_buffer_data">write_packed_vertex_buffer_data</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Asset-for-Mesh" title="Asset">Asset</a></li><li><a href="#impl-Clone-for-Mesh" title="Clone">Clone</a></li><li><a href="#impl-Debug-for-Mesh" title="Debug">Debug</a></li><li><a href="#impl-From%3CAnnulus%3E-for-Mesh" title="From&#60;Annulus&#62;">From&#60;Annulus&#62;</a></li><li><a href="#impl-From%3CCapsule2d%3E-for-Mesh" title="From&#60;Capsule2d&#62;">From&#60;Capsule2d&#62;</a></li><li><a href="#impl-From%3CCapsule3d%3E-for-Mesh" title="From&#60;Capsule3d&#62;">From&#60;Capsule3d&#62;</a></li><li><a href="#impl-From%3CCircle%3E-for-Mesh" title="From&#60;Circle&#62;">From&#60;Circle&#62;</a></li><li><a href="#impl-From%3CCircularSector%3E-for-Mesh" title="From&#60;CircularSector&#62;">From&#60;CircularSector&#62;</a></li><li><a href="#impl-From%3CCircularSegment%3E-for-Mesh" title="From&#60;CircularSegment&#62;">From&#60;CircularSegment&#62;</a></li><li><a href="#impl-From%3CCone%3E-for-Mesh" title="From&#60;Cone&#62;">From&#60;Cone&#62;</a></li><li><a href="#impl-From%3CConicalFrustum%3E-for-Mesh" title="From&#60;ConicalFrustum&#62;">From&#60;ConicalFrustum&#62;</a></li><li><a href="#impl-From%3CConvexPolygon%3CN%3E%3E-for-Mesh" title="From&#60;ConvexPolygon&#60;N&#62;&#62;">From&#60;ConvexPolygon&#60;N&#62;&#62;</a></li><li><a href="#impl-From%3CCuboid%3E-for-Mesh" title="From&#60;Cuboid&#62;">From&#60;Cuboid&#62;</a></li><li><a href="#impl-From%3CCylinder%3E-for-Mesh" title="From&#60;Cylinder&#62;">From&#60;Cylinder&#62;</a></li><li><a href="#impl-From%3CEllipse%3E-for-Mesh" title="From&#60;Ellipse&#62;">From&#60;Ellipse&#62;</a></li><li><a href="#impl-From%3CExtrusion%3CP%3E%3E-for-Mesh" title="From&#60;Extrusion&#60;P&#62;&#62;">From&#60;Extrusion&#60;P&#62;&#62;</a></li><li><a href="#impl-From%3CPlane3d%3E-for-Mesh" title="From&#60;Plane3d&#62;">From&#60;Plane3d&#62;</a></li><li><a href="#impl-From%3CRectangle%3E-for-Mesh" title="From&#60;Rectangle&#62;">From&#60;Rectangle&#62;</a></li><li><a href="#impl-From%3CRegularPolygon%3E-for-Mesh" title="From&#60;RegularPolygon&#62;">From&#60;RegularPolygon&#62;</a></li><li><a href="#impl-From%3CRhombus%3E-for-Mesh" title="From&#60;Rhombus&#62;">From&#60;Rhombus&#62;</a></li><li><a href="#impl-From%3CSphere%3E-for-Mesh" title="From&#60;Sphere&#62;">From&#60;Sphere&#62;</a></li><li><a href="#impl-From%3CT%3E-for-Mesh" title="From&#60;T&#62;">From&#60;T&#62;</a></li><li><a href="#impl-From%3CTetrahedron%3E-for-Mesh" title="From&#60;Tetrahedron&#62;">From&#60;Tetrahedron&#62;</a></li><li><a href="#impl-From%3CTorus%3E-for-Mesh" title="From&#60;Torus&#62;">From&#60;Torus&#62;</a></li><li><a href="#impl-From%3CTriangle2d%3E-for-Mesh" title="From&#60;Triangle2d&#62;">From&#60;Triangle2d&#62;</a></li><li><a href="#impl-From%3CTriangle3d%3E-for-Mesh" title="From&#60;Triangle3d&#62;">From&#60;Triangle3d&#62;</a></li><li><a href="#impl-FromReflect-for-Mesh" title="FromReflect">FromReflect</a></li><li><a href="#impl-GetTypeRegistration-for-Mesh" title="GetTypeRegistration">GetTypeRegistration</a></li><li><a href="#impl-Mul%3CMesh%3E-for-Transform" title="Mul&#60;Mesh&#62;">Mul&#60;Mesh&#62;</a></li><li><a href="#impl-PartialReflect-for-Mesh" title="PartialReflect">PartialReflect</a></li><li><a href="#impl-Reflect-for-Mesh" title="Reflect">Reflect</a></li><li><a href="#impl-Struct-for-Mesh" title="Struct">Struct</a></li><li><a href="#impl-TypePath-for-Mesh" title="TypePath">TypePath</a></li><li><a href="#impl-Typed-for-Mesh" title="Typed">Typed</a></li><li><a href="#impl-VisitAssetDependencies-for-Mesh" title="VisitAssetDependencies">VisitAssetDependencies</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-RefUnwindSafe-for-Mesh" title="!RefUnwindSafe">!RefUnwindSafe</a></li><li><a href="#impl-UnwindSafe-for-Mesh" title="!UnwindSafe">!UnwindSafe</a></li><li><a href="#impl-Freeze-for-Mesh" title="Freeze">Freeze</a></li><li><a href="#impl-Send-for-Mesh" title="Send">Send</a></li><li><a href="#impl-Sync-for-Mesh" title="Sync">Sync</a></li><li><a href="#impl-Unpin-for-Mesh" title="Unpin">Unpin</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-AssetContainer-for-A" title="AssetContainer">AssetContainer</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-ConditionalSend-for-T" title="ConditionalSend">ConditionalSend</a></li><li><a href="#impl-Downcast-for-T" title="Downcast">Downcast</a></li><li><a href="#impl-Downcast%3CT%3E-for-T" title="Downcast&#60;T&#62;">Downcast&#60;T&#62;</a></li><li><a href="#impl-DowncastSync-for-T" title="DowncastSync">DowncastSync</a></li><li><a href="#impl-DynamicTypePath-for-T" title="DynamicTypePath">DynamicTypePath</a></li><li><a href="#impl-DynamicTyped-for-T" title="DynamicTyped">DynamicTyped</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-GetField-for-S" title="GetField">GetField</a></li><li><a href="#impl-GetPath-for-T" title="GetPath">GetPath</a></li><li><a href="#impl-Instrument-for-T" title="Instrument">Instrument</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-Reflectable-for-T" title="Reflectable">Reflectable</a></li><li><a href="#impl-Settings-for-T" title="Settings">Settings</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><li><a href="#impl-TypeData-for-T" title="TypeData">TypeData</a></li><li><a href="#impl-Upcast%3CT%3E-for-T" title="Upcast&#60;T&#62;">Upcast&#60;T&#62;</a></li><li><a href="#impl-VZip%3CV%3E-for-T" title="VZip&#60;V&#62;">VZip&#60;V&#62;</a></li><li><a href="#impl-WasmNotSend-for-T" title="WasmNotSend">WasmNotSend</a></li><li><a href="#impl-WasmNotSendSync-for-T" title="WasmNotSendSync">WasmNotSendSync</a></li><li><a href="#impl-WasmNotSync-for-T" title="WasmNotSync">WasmNotSync</a></li><li><a href="#impl-WithSubscriber-for-T" title="WithSubscriber">WithSubscriber</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate bevy_<wbr>mesh</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">bevy_mesh</a></span><h1>Struct <span class="struct">Mesh</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/bevy_mesh/mesh.rs.html#107-120">Source</a> </span></div><pre class="rust item-decl"><code>pub struct Mesh {
pub asset_usage: <a class="struct" href="../bevy_asset/render_asset/struct.RenderAssetUsages.html" title="struct bevy_asset::render_asset::RenderAssetUsages">RenderAssetUsages</a>,
<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 3D object made out of vertices representing triangles, lines, or points,
with “attribute” values for each vertex.</p>
<p>Meshes can be automatically generated by a bevy <code>AssetLoader</code> (generally by loading a <code>Gltf</code> file),
or by converting a <a href="../bevy_math/primitives/index.html" title="mod bevy_math::primitives">primitive</a> using <a href="https://doc.rust-lang.org/1.84.0/core/convert/trait.Into.html" title="trait core::convert::Into"><code>into</code></a>.
It is also possible to create one manually. They can be edited after creation.</p>
<p>Meshes can be rendered with a <code>Mesh2d</code> and <code>MeshMaterial2d</code>
or <code>Mesh3d</code> and <code>MeshMaterial3d</code> for 2D and 3D respectively.</p>
<p>A <a href="struct.Mesh.html" title="struct bevy_mesh::Mesh"><code>Mesh</code></a> in Bevy is equivalent to a “primitive” in the glTF format, for a
glTF Mesh representation, see <code>GltfMesh</code>.</p>
<h3 id="manual-creation"><a class="doc-anchor" href="#manual-creation">§</a>Manual creation</h3>
<p>The following function will construct a flat mesh, to be rendered with a
<code>StandardMaterial</code> or <code>ColorMaterial</code>:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">fn </span>create_simple_parallelogram() -&gt; Mesh {
<span class="comment">// Create a new mesh using a triangle list topology, where each set of 3 vertices composes a triangle.
</span>Mesh::new(PrimitiveTopology::TriangleList, RenderAssetUsages::default())
<span class="comment">// Add 4 vertices, each with its own position attribute (coordinate in
// 3D space), for each of the corners of the parallelogram.
</span>.with_inserted_attribute(
Mesh::ATTRIBUTE_POSITION,
<span class="macro">vec!</span>[[<span class="number">0.0</span>, <span class="number">0.0</span>, <span class="number">0.0</span>], [<span class="number">1.0</span>, <span class="number">2.0</span>, <span class="number">0.0</span>], [<span class="number">2.0</span>, <span class="number">2.0</span>, <span class="number">0.0</span>], [<span class="number">1.0</span>, <span class="number">0.0</span>, <span class="number">0.0</span>]]
)
<span class="comment">// Assign a UV coordinate to each vertex.
</span>.with_inserted_attribute(
Mesh::ATTRIBUTE_UV_0,
<span class="macro">vec!</span>[[<span class="number">0.0</span>, <span class="number">1.0</span>], [<span class="number">0.5</span>, <span class="number">0.0</span>], [<span class="number">1.0</span>, <span class="number">0.0</span>], [<span class="number">0.5</span>, <span class="number">1.0</span>]]
)
<span class="comment">// Assign normals (everything points outwards)
</span>.with_inserted_attribute(
Mesh::ATTRIBUTE_NORMAL,
<span class="macro">vec!</span>[[<span class="number">0.0</span>, <span class="number">0.0</span>, <span class="number">1.0</span>], [<span class="number">0.0</span>, <span class="number">0.0</span>, <span class="number">1.0</span>], [<span class="number">0.0</span>, <span class="number">0.0</span>, <span class="number">1.0</span>], [<span class="number">0.0</span>, <span class="number">0.0</span>, <span class="number">1.0</span>]]
)
<span class="comment">// After defining all the vertices and their attributes, build each triangle using the
// indices of the vertices that make it up in a counter-clockwise order.
</span>.with_inserted_indices(Indices::U32(<span class="macro">vec!</span>[
<span class="comment">// First triangle
</span><span class="number">0</span>, <span class="number">3</span>, <span class="number">1</span>,
<span class="comment">// Second triangle
</span><span class="number">1</span>, <span class="number">3</span>, <span class="number">2
</span>]))
}</code></pre></div>
<p>You can see how it looks like <a href="https://github.com/bevyengine/bevy/blob/main/assets/docs/Mesh.png">here</a>,
used in a <code>Mesh3d</code> with a square bevy logo texture, with added axis, points,
lines and text for clarity.</p>
<h3 id="other-examples"><a class="doc-anchor" href="#other-examples">§</a>Other examples</h3>
<p>For further visualization, explanation, and examples, see the built-in Bevy examples,
and the <a href="https://github.com/bevyengine/bevy/tree/main/crates/bevy_mesh/src/primitives">implementation of the built-in shapes</a>.
In particular, <a href="https://github.com/bevyengine/bevy/blob/main/examples/3d/generate_custom_mesh.rs">generate_custom_mesh</a>
teaches you to access and modify the attributes of a <a href="struct.Mesh.html" title="struct bevy_mesh::Mesh"><code>Mesh</code></a> after creating it.</p>
<h3 id="common-points-of-confusion"><a class="doc-anchor" href="#common-points-of-confusion">§</a>Common points of confusion</h3>
<ul>
<li>UV maps in Bevy start at the top-left, see <a href="struct.Mesh.html#associatedconstant.ATTRIBUTE_UV_0" title="associated constant bevy_mesh::Mesh::ATTRIBUTE_UV_0"><code>ATTRIBUTE_UV_0</code></a>,
other APIs can have other conventions, <code>OpenGL</code> starts at bottom-left.</li>
<li>It is possible and sometimes useful for multiple vertices to have the same
<a href="struct.Mesh.html#associatedconstant.ATTRIBUTE_POSITION" title="associated constant bevy_mesh::Mesh::ATTRIBUTE_POSITION">position attribute</a> value,
its a common technique in 3D modeling for complex UV mapping or other calculations.</li>
<li>Bevy performs frustum culling based on the <code>Aabb</code> of meshes, which is calculated
and added automatically for new meshes only. If a mesh is modified, the entitys <code>Aabb</code>
needs to be updated manually or deleted so that it is re-calculated.</li>
</ul>
<h3 id="use-with-standardmaterial"><a class="doc-anchor" href="#use-with-standardmaterial">§</a>Use with <code>StandardMaterial</code></h3>
<p>To render correctly with <code>StandardMaterial</code>, a mesh needs to have properly defined:</p>
<ul>
<li><a href="struct.Mesh.html#associatedconstant.ATTRIBUTE_UV_0" title="associated constant bevy_mesh::Mesh::ATTRIBUTE_UV_0"><code>UVs</code></a>: Bevy needs to know how to map a texture onto the mesh
(also true for <code>ColorMaterial</code>).</li>
<li><a href="struct.Mesh.html#associatedconstant.ATTRIBUTE_NORMAL" title="associated constant bevy_mesh::Mesh::ATTRIBUTE_NORMAL"><code>Normals</code></a>: Bevy needs to know how light interacts with your mesh.
[0.0, 0.0, 1.0] is very common for simple flat meshes on the XY plane,
because simple meshes are smooth and they dont require complex light calculations.</li>
<li>Vertex winding order: by default, <code>StandardMaterial.cull_mode</code> is <code>Some(Face::Back)</code>,
which means that Bevy would <em>only</em> render the “front” of each triangle, which
is the side of the triangle from where the vertices appear in a <em>counter-clockwise</em> order.</li>
</ul>
</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.asset_usage" class="structfield section-header"><a href="#structfield.asset_usage" class="anchor field">§</a><code>asset_usage: <a class="struct" href="../bevy_asset/render_asset/struct.RenderAssetUsages.html" title="struct bevy_asset::render_asset::RenderAssetUsages">RenderAssetUsages</a></code></span><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-Mesh" class="impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#122-1215">Source</a><a href="#impl-Mesh" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedconstant.ATTRIBUTE_POSITION" class="associatedconstant"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#127-128">Source</a><h4 class="code-header">pub const <a href="#associatedconstant.ATTRIBUTE_POSITION" class="constant">ATTRIBUTE_POSITION</a>: <a class="struct" href="struct.MeshVertexAttribute.html" title="struct bevy_mesh::MeshVertexAttribute">MeshVertexAttribute</a> = _</h4></section></summary><div class="docblock"><p>Where the vertex is located in space. Use in conjunction with <a href="struct.Mesh.html#method.insert_attribute" title="method bevy_mesh::Mesh::insert_attribute"><code>Mesh::insert_attribute</code></a>
or <a href="struct.Mesh.html#method.with_inserted_attribute" title="method bevy_mesh::Mesh::with_inserted_attribute"><code>Mesh::with_inserted_attribute</code></a>.</p>
<p>The format of this attribute is <a href="../wgpu_types/enum.VertexFormat.html#variant.Float32x3" title="variant wgpu_types::VertexFormat::Float32x3"><code>VertexFormat::Float32x3</code></a>.</p>
</div></details><details class="toggle" open><summary><section id="associatedconstant.ATTRIBUTE_NORMAL" class="associatedconstant"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#134-135">Source</a><h4 class="code-header">pub const <a href="#associatedconstant.ATTRIBUTE_NORMAL" class="constant">ATTRIBUTE_NORMAL</a>: <a class="struct" href="struct.MeshVertexAttribute.html" title="struct bevy_mesh::MeshVertexAttribute">MeshVertexAttribute</a> = _</h4></section></summary><div class="docblock"><p>The direction the vertex normal is facing in.
Use in conjunction with <a href="struct.Mesh.html#method.insert_attribute" title="method bevy_mesh::Mesh::insert_attribute"><code>Mesh::insert_attribute</code></a> or <a href="struct.Mesh.html#method.with_inserted_attribute" title="method bevy_mesh::Mesh::with_inserted_attribute"><code>Mesh::with_inserted_attribute</code></a>.</p>
<p>The format of this attribute is <a href="../wgpu_types/enum.VertexFormat.html#variant.Float32x3" title="variant wgpu_types::VertexFormat::Float32x3"><code>VertexFormat::Float32x3</code></a>.</p>
</div></details><details class="toggle" open><summary><section id="associatedconstant.ATTRIBUTE_UV_0" class="associatedconstant"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#151-152">Source</a><h4 class="code-header">pub const <a href="#associatedconstant.ATTRIBUTE_UV_0" class="constant">ATTRIBUTE_UV_0</a>: <a class="struct" href="struct.MeshVertexAttribute.html" title="struct bevy_mesh::MeshVertexAttribute">MeshVertexAttribute</a> = _</h4></section></summary><div class="docblock"><p>Texture coordinates for the vertex. Use in conjunction with <a href="struct.Mesh.html#method.insert_attribute" title="method bevy_mesh::Mesh::insert_attribute"><code>Mesh::insert_attribute</code></a>
or <a href="struct.Mesh.html#method.with_inserted_attribute" title="method bevy_mesh::Mesh::with_inserted_attribute"><code>Mesh::with_inserted_attribute</code></a>.</p>
<p>Generally <code>[0.,0.]</code> is mapped to the top left of the texture, and <code>[1.,1.]</code> to the bottom-right.</p>
<p>By default values outside will be clamped per pixel not for the vertex,
“stretching” the borders of the texture.
This behavior can be useful in some cases, usually when the borders have only
one color, for example a logo, and you want to “extend” those borders.</p>
<p>For different mapping outside of <code>0..=1</code> range,
see <a href="../bevy_image/image/enum.ImageAddressMode.html" title="enum bevy_image::image::ImageAddressMode"><code>ImageAddressMode</code></a>.</p>
<p>The format of this attribute is <a href="../wgpu_types/enum.VertexFormat.html#variant.Float32x2" title="variant wgpu_types::VertexFormat::Float32x2"><code>VertexFormat::Float32x2</code></a>.</p>
</div></details><details class="toggle" open><summary><section id="associatedconstant.ATTRIBUTE_UV_1" class="associatedconstant"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#161-162">Source</a><h4 class="code-header">pub const <a href="#associatedconstant.ATTRIBUTE_UV_1" class="constant">ATTRIBUTE_UV_1</a>: <a class="struct" href="struct.MeshVertexAttribute.html" title="struct bevy_mesh::MeshVertexAttribute">MeshVertexAttribute</a> = _</h4></section></summary><div class="docblock"><p>Alternate texture coordinates for the vertex. Use in conjunction with
<a href="struct.Mesh.html#method.insert_attribute" title="method bevy_mesh::Mesh::insert_attribute"><code>Mesh::insert_attribute</code></a> or <a href="struct.Mesh.html#method.with_inserted_attribute" title="method bevy_mesh::Mesh::with_inserted_attribute"><code>Mesh::with_inserted_attribute</code></a>.</p>
<p>Typically, these are used for lightmaps, textures that provide
precomputed illumination.</p>
<p>The format of this attribute is <a href="../wgpu_types/enum.VertexFormat.html#variant.Float32x2" title="variant wgpu_types::VertexFormat::Float32x2"><code>VertexFormat::Float32x2</code></a>.</p>
</div></details><details class="toggle" open><summary><section id="associatedconstant.ATTRIBUTE_TANGENT" class="associatedconstant"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#169-170">Source</a><h4 class="code-header">pub const <a href="#associatedconstant.ATTRIBUTE_TANGENT" class="constant">ATTRIBUTE_TANGENT</a>: <a class="struct" href="struct.MeshVertexAttribute.html" title="struct bevy_mesh::MeshVertexAttribute">MeshVertexAttribute</a> = _</h4></section></summary><div class="docblock"><p>The direction of the vertex tangent. Used for normal mapping.
Usually generated with <a href="struct.Mesh.html#method.generate_tangents" title="method bevy_mesh::Mesh::generate_tangents"><code>generate_tangents</code></a> or
<a href="struct.Mesh.html#method.with_generated_tangents" title="method bevy_mesh::Mesh::with_generated_tangents"><code>with_generated_tangents</code></a>.</p>
<p>The format of this attribute is <a href="../wgpu_types/enum.VertexFormat.html#variant.Float32x4" title="variant wgpu_types::VertexFormat::Float32x4"><code>VertexFormat::Float32x4</code></a>.</p>
</div></details><details class="toggle" open><summary><section id="associatedconstant.ATTRIBUTE_COLOR" class="associatedconstant"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#176-177">Source</a><h4 class="code-header">pub const <a href="#associatedconstant.ATTRIBUTE_COLOR" class="constant">ATTRIBUTE_COLOR</a>: <a class="struct" href="struct.MeshVertexAttribute.html" title="struct bevy_mesh::MeshVertexAttribute">MeshVertexAttribute</a> = _</h4></section></summary><div class="docblock"><p>Per vertex coloring. Use in conjunction with <a href="struct.Mesh.html#method.insert_attribute" title="method bevy_mesh::Mesh::insert_attribute"><code>Mesh::insert_attribute</code></a>
or <a href="struct.Mesh.html#method.with_inserted_attribute" title="method bevy_mesh::Mesh::with_inserted_attribute"><code>Mesh::with_inserted_attribute</code></a>.</p>
<p>The format of this attribute is <a href="../wgpu_types/enum.VertexFormat.html#variant.Float32x4" title="variant wgpu_types::VertexFormat::Float32x4"><code>VertexFormat::Float32x4</code></a>.</p>
</div></details><details class="toggle" open><summary><section id="associatedconstant.ATTRIBUTE_JOINT_WEIGHT" class="associatedconstant"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#183-184">Source</a><h4 class="code-header">pub const <a href="#associatedconstant.ATTRIBUTE_JOINT_WEIGHT" class="constant">ATTRIBUTE_JOINT_WEIGHT</a>: <a class="struct" href="struct.MeshVertexAttribute.html" title="struct bevy_mesh::MeshVertexAttribute">MeshVertexAttribute</a> = _</h4></section></summary><div class="docblock"><p>Per vertex joint transform matrix weight. Use in conjunction with <a href="struct.Mesh.html#method.insert_attribute" title="method bevy_mesh::Mesh::insert_attribute"><code>Mesh::insert_attribute</code></a>
or <a href="struct.Mesh.html#method.with_inserted_attribute" title="method bevy_mesh::Mesh::with_inserted_attribute"><code>Mesh::with_inserted_attribute</code></a>.</p>
<p>The format of this attribute is <a href="../wgpu_types/enum.VertexFormat.html#variant.Float32x4" title="variant wgpu_types::VertexFormat::Float32x4"><code>VertexFormat::Float32x4</code></a>.</p>
</div></details><details class="toggle" open><summary><section id="associatedconstant.ATTRIBUTE_JOINT_INDEX" class="associatedconstant"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#190-191">Source</a><h4 class="code-header">pub const <a href="#associatedconstant.ATTRIBUTE_JOINT_INDEX" class="constant">ATTRIBUTE_JOINT_INDEX</a>: <a class="struct" href="struct.MeshVertexAttribute.html" title="struct bevy_mesh::MeshVertexAttribute">MeshVertexAttribute</a> = _</h4></section></summary><div class="docblock"><p>Per vertex joint transform matrix index. Use in conjunction with <a href="struct.Mesh.html#method.insert_attribute" title="method bevy_mesh::Mesh::insert_attribute"><code>Mesh::insert_attribute</code></a>
or <a href="struct.Mesh.html#method.with_inserted_attribute" title="method bevy_mesh::Mesh::with_inserted_attribute"><code>Mesh::with_inserted_attribute</code></a>.</p>
<p>The format of this attribute is <a href="../wgpu_types/enum.VertexFormat.html#variant.Uint16x4" title="variant wgpu_types::VertexFormat::Uint16x4"><code>VertexFormat::Uint16x4</code></a>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#196-205">Source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(
primitive_topology: <a class="enum" href="enum.PrimitiveTopology.html" title="enum bevy_mesh::PrimitiveTopology">PrimitiveTopology</a>,
asset_usage: <a class="struct" href="../bevy_asset/render_asset/struct.RenderAssetUsages.html" title="struct bevy_asset::render_asset::RenderAssetUsages">RenderAssetUsages</a>,
) -&gt; Self</h4></section></summary><div class="docblock"><p>Construct a new mesh. You need to provide a <a href="enum.PrimitiveTopology.html" title="enum bevy_mesh::PrimitiveTopology"><code>PrimitiveTopology</code></a> so that the
renderer knows how to treat the vertex data. Most of the time this will be
<a href="enum.PrimitiveTopology.html#variant.TriangleList" title="variant bevy_mesh::PrimitiveTopology::TriangleList"><code>PrimitiveTopology::TriangleList</code></a>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.primitive_topology" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#208-210">Source</a><h4 class="code-header">pub fn <a href="#method.primitive_topology" class="fn">primitive_topology</a>(&amp;self) -&gt; <a class="enum" href="enum.PrimitiveTopology.html" title="enum bevy_mesh::PrimitiveTopology">PrimitiveTopology</a></h4></section></summary><div class="docblock"><p>Returns the topology of the mesh.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.insert_attribute" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#220-236">Source</a><h4 class="code-header">pub fn <a href="#method.insert_attribute" class="fn">insert_attribute</a>(
&amp;mut self,
attribute: <a class="struct" href="struct.MeshVertexAttribute.html" title="struct bevy_mesh::MeshVertexAttribute">MeshVertexAttribute</a>,
values: impl <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;<a class="enum" href="enum.VertexAttributeValues.html" title="enum bevy_mesh::VertexAttributeValues">VertexAttributeValues</a>&gt;,
)</h4></section></summary><div class="docblock"><p>Sets the data for a vertex attribute (position, normal, etc.). The name will
often be one of the associated constants such as <a href="struct.Mesh.html#associatedconstant.ATTRIBUTE_POSITION" title="associated constant bevy_mesh::Mesh::ATTRIBUTE_POSITION"><code>Mesh::ATTRIBUTE_POSITION</code></a>.</p>
<p><code>Aabb</code> of entities with modified mesh are not updated automatically.</p>
<h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5>
<p>Panics when the format of the values does not match the attributes format.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.with_inserted_attribute" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#249-256">Source</a><h4 class="code-header">pub fn <a href="#method.with_inserted_attribute" class="fn">with_inserted_attribute</a>(
self,
attribute: <a class="struct" href="struct.MeshVertexAttribute.html" title="struct bevy_mesh::MeshVertexAttribute">MeshVertexAttribute</a>,
values: impl <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;<a class="enum" href="enum.VertexAttributeValues.html" title="enum bevy_mesh::VertexAttributeValues">VertexAttributeValues</a>&gt;,
) -&gt; Self</h4></section></summary><div class="docblock"><p>Consumes the mesh and returns a mesh with data set for a vertex attribute (position, normal, etc.).
The name will often be one of the associated constants such as <a href="struct.Mesh.html#associatedconstant.ATTRIBUTE_POSITION" title="associated constant bevy_mesh::Mesh::ATTRIBUTE_POSITION"><code>Mesh::ATTRIBUTE_POSITION</code></a>.</p>
<p>(Alternatively, you can use <a href="struct.Mesh.html#method.insert_attribute" title="method bevy_mesh::Mesh::insert_attribute"><code>Mesh::insert_attribute</code></a> to mutate an existing mesh in-place)</p>
<p><code>Aabb</code> of entities with modified mesh are not updated automatically.</p>
<h5 id="panics-1"><a class="doc-anchor" href="#panics-1">§</a>Panics</h5>
<p>Panics when the format of the values does not match the attributes format.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.remove_attribute" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#259-266">Source</a><h4 class="code-header">pub fn <a href="#method.remove_attribute" class="fn">remove_attribute</a>(
&amp;mut self,
attribute: impl <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;<a class="struct" href="struct.MeshVertexAttributeId.html" title="struct bevy_mesh::MeshVertexAttributeId">MeshVertexAttributeId</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="enum" href="enum.VertexAttributeValues.html" title="enum bevy_mesh::VertexAttributeValues">VertexAttributeValues</a>&gt;</h4></section></summary><div class="docblock"><p>Removes the data for a vertex attribute</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.with_removed_attribute" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#272-275">Source</a><h4 class="code-header">pub fn <a href="#method.with_removed_attribute" class="fn">with_removed_attribute</a>(
self,
attribute: impl <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;<a class="struct" href="struct.MeshVertexAttributeId.html" title="struct bevy_mesh::MeshVertexAttributeId">MeshVertexAttributeId</a>&gt;,
) -&gt; Self</h4></section></summary><div class="docblock"><p>Consumes the mesh and returns a mesh without the data for a vertex attribute</p>
<p>(Alternatively, you can use <a href="struct.Mesh.html#method.remove_attribute" title="method bevy_mesh::Mesh::remove_attribute"><code>Mesh::remove_attribute</code></a> to mutate an existing mesh in-place)</p>
</div></details><section id="method.contains_attribute" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#278-280">Source</a><h4 class="code-header">pub fn <a href="#method.contains_attribute" class="fn">contains_attribute</a>(&amp;self, id: impl <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;<a class="struct" href="struct.MeshVertexAttributeId.html" title="struct bevy_mesh::MeshVertexAttributeId">MeshVertexAttributeId</a>&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a></h4></section><details class="toggle method-toggle" open><summary><section id="method.attribute" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#284-289">Source</a><h4 class="code-header">pub fn <a href="#method.attribute" class="fn">attribute</a>(
&amp;self,
id: impl <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;<a class="struct" href="struct.MeshVertexAttributeId.html" title="struct bevy_mesh::MeshVertexAttributeId">MeshVertexAttributeId</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;&amp;<a class="enum" href="enum.VertexAttributeValues.html" title="enum bevy_mesh::VertexAttributeValues">VertexAttributeValues</a>&gt;</h4></section></summary><div class="docblock"><p>Retrieves the data currently set to the vertex attribute with the specified <code>name</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.attribute_mut" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#293-300">Source</a><h4 class="code-header">pub fn <a href="#method.attribute_mut" class="fn">attribute_mut</a>(
&amp;mut self,
id: impl <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;<a class="struct" href="struct.MeshVertexAttributeId.html" title="struct bevy_mesh::MeshVertexAttributeId">MeshVertexAttributeId</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;&amp;mut <a class="enum" href="enum.VertexAttributeValues.html" title="enum bevy_mesh::VertexAttributeValues">VertexAttributeValues</a>&gt;</h4></section></summary><div class="docblock"><p>Retrieves the data currently set to the vertex attribute with the specified <code>name</code> mutably.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.attributes" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#303-309">Source</a><h4 class="code-header">pub fn <a href="#method.attributes" class="fn">attributes</a>(
&amp;self,
) -&gt; impl <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = (&amp;<a class="struct" href="struct.MeshVertexAttribute.html" title="struct bevy_mesh::MeshVertexAttribute">MeshVertexAttribute</a>, &amp;<a class="enum" href="enum.VertexAttributeValues.html" title="enum bevy_mesh::VertexAttributeValues">VertexAttributeValues</a>)&gt;</h4></section></summary><div class="docblock"><p>Returns an iterator that yields references to the data of each vertex attribute.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.attributes_mut" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#312-318">Source</a><h4 class="code-header">pub fn <a href="#method.attributes_mut" class="fn">attributes_mut</a>(
&amp;mut self,
) -&gt; impl <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = (&amp;<a class="struct" href="struct.MeshVertexAttribute.html" title="struct bevy_mesh::MeshVertexAttribute">MeshVertexAttribute</a>, &amp;mut <a class="enum" href="enum.VertexAttributeValues.html" title="enum bevy_mesh::VertexAttributeValues">VertexAttributeValues</a>)&gt;</h4></section></summary><div class="docblock"><p>Returns an iterator that yields mutable references to the data of each vertex attribute.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.insert_indices" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#324-326">Source</a><h4 class="code-header">pub fn <a href="#method.insert_indices" class="fn">insert_indices</a>(&amp;mut self, indices: <a class="enum" href="enum.Indices.html" title="enum bevy_mesh::Indices">Indices</a>)</h4></section></summary><div class="docblock"><p>Sets the vertex indices of the mesh. They describe how triangles are constructed out of the
vertex attributes and are therefore only useful for the <a href="enum.PrimitiveTopology.html" title="enum bevy_mesh::PrimitiveTopology"><code>PrimitiveTopology</code></a> variants
that use triangles.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.with_inserted_indices" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#335-338">Source</a><h4 class="code-header">pub fn <a href="#method.with_inserted_indices" class="fn">with_inserted_indices</a>(self, indices: <a class="enum" href="enum.Indices.html" title="enum bevy_mesh::Indices">Indices</a>) -&gt; Self</h4></section></summary><div class="docblock"><p>Consumes the mesh and returns a mesh with the given vertex indices. They describe how triangles
are constructed out of the vertex attributes and are therefore only useful for the
<a href="enum.PrimitiveTopology.html" title="enum bevy_mesh::PrimitiveTopology"><code>PrimitiveTopology</code></a> variants that use triangles.</p>
<p>(Alternatively, you can use <a href="struct.Mesh.html#method.insert_indices" title="method bevy_mesh::Mesh::insert_indices"><code>Mesh::insert_indices</code></a> to mutate an existing mesh in-place)</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.indices" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#342-344">Source</a><h4 class="code-header">pub fn <a href="#method.indices" class="fn">indices</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;<a class="enum" href="enum.Indices.html" title="enum bevy_mesh::Indices">Indices</a>&gt;</h4></section></summary><div class="docblock"><p>Retrieves the vertex <code>indices</code> of the mesh.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.indices_mut" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#348-350">Source</a><h4 class="code-header">pub fn <a href="#method.indices_mut" class="fn">indices_mut</a>(&amp;mut 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;mut <a class="enum" href="enum.Indices.html" title="enum bevy_mesh::Indices">Indices</a>&gt;</h4></section></summary><div class="docblock"><p>Retrieves the vertex <code>indices</code> of the mesh mutably.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.remove_indices" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#354-356">Source</a><h4 class="code-header">pub fn <a href="#method.remove_indices" class="fn">remove_indices</a>(&amp;mut 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;<a class="enum" href="enum.Indices.html" title="enum bevy_mesh::Indices">Indices</a>&gt;</h4></section></summary><div class="docblock"><p>Removes the vertex <code>indices</code> from the mesh and returns them.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.with_removed_indices" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#362-365">Source</a><h4 class="code-header">pub fn <a href="#method.with_removed_indices" class="fn">with_removed_indices</a>(self) -&gt; Self</h4></section></summary><div class="docblock"><p>Consumes the mesh and returns a mesh without the vertex <code>indices</code> of the mesh.</p>
<p>(Alternatively, you can use <a href="struct.Mesh.html#method.remove_indices" title="method bevy_mesh::Mesh::remove_indices"><code>Mesh::remove_indices</code></a> to mutate an existing mesh in-place)</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_vertex_size" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#368-373">Source</a><h4 class="code-header">pub fn <a href="#method.get_vertex_size" class="fn">get_vertex_size</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u64.html">u64</a></h4></section></summary><div class="docblock"><p>Returns the size of a vertex in bytes.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_vertex_buffer_size" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#376-380">Source</a><h4 class="code-header">pub fn <a href="#method.get_vertex_buffer_size" class="fn">get_vertex_buffer_size</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>Returns the size required for the vertex buffer in bytes.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_index_buffer_bytes" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#384-389">Source</a><h4 class="code-header">pub fn <a href="#method.get_index_buffer_bytes" class="fn">get_index_buffer_bytes</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;[<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u8.html">u8</a>]&gt;</h4></section></summary><div class="docblock"><p>Computes and returns the index data of the mesh as bytes.
This is used to transform the index data into a GPU friendly format.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_mesh_vertex_buffer_layout" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#392-418">Source</a><h4 class="code-header">pub fn <a href="#method.get_mesh_vertex_buffer_layout" class="fn">get_mesh_vertex_buffer_layout</a>(
&amp;self,
mesh_vertex_buffer_layouts: &amp;mut <a class="struct" href="struct.MeshVertexBufferLayouts.html" title="struct bevy_mesh::MeshVertexBufferLayouts">MeshVertexBufferLayouts</a>,
) -&gt; <a class="struct" href="struct.MeshVertexBufferLayoutRef.html" title="struct bevy_mesh::MeshVertexBufferLayoutRef">MeshVertexBufferLayoutRef</a></h4></section></summary><div class="docblock"><p>Get this <code>Mesh</code>s <a href="struct.MeshVertexBufferLayout.html" title="struct bevy_mesh::MeshVertexBufferLayout"><code>MeshVertexBufferLayout</code></a>, used in <code>SpecializedMeshPipeline</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.count_vertices" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#423-445">Source</a><h4 class="code-header">pub fn <a href="#method.count_vertices" class="fn">count_vertices</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>Counts all vertices of the mesh.</p>
<p>If the attributes have different vertex counts, the smallest is returned.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.create_packed_vertex_buffer_data" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#456-460">Source</a><h4 class="code-header">pub fn <a href="#method.create_packed_vertex_buffer_data" class="fn">create_packed_vertex_buffer_data</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="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u8.html">u8</a>&gt;</h4></section></summary><div class="docblock"><p>Computes and returns the vertex data of the mesh as bytes.
Therefore the attributes are located in the order of their <a href="struct.MeshVertexAttribute.html#structfield.id" title="field bevy_mesh::MeshVertexAttribute::id"><code>MeshVertexAttribute::id</code></a>.
This is used to transform the vertex data into a GPU friendly format.</p>
<p>If the vertex attributes have different lengths, they are all truncated to
the length of the smallest.</p>
<p>This is a convenience method which allocates a Vec.
Prefer pre-allocating and using <a href="struct.Mesh.html#method.write_packed_vertex_buffer_data" title="method bevy_mesh::Mesh::write_packed_vertex_buffer_data"><code>Mesh::write_packed_vertex_buffer_data</code></a> when possible.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.write_packed_vertex_buffer_data" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#468-487">Source</a><h4 class="code-header">pub fn <a href="#method.write_packed_vertex_buffer_data" class="fn">write_packed_vertex_buffer_data</a>(&amp;self, slice: &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u8.html">u8</a>])</h4></section></summary><div class="docblock"><p>Computes and write the vertex data of the mesh into a mutable byte slice.
The attributes are located in the order of their <a href="struct.MeshVertexAttribute.html#structfield.id" title="field bevy_mesh::MeshVertexAttribute::id"><code>MeshVertexAttribute::id</code></a>.
This is used to transform the vertex data into a GPU friendly format.</p>
<p>If the vertex attributes have different lengths, they are all truncated to
the length of the smallest.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.duplicate_vertices" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#494-536">Source</a><h4 class="code-header">pub fn <a href="#method.duplicate_vertices" class="fn">duplicate_vertices</a>(&amp;mut self)</h4></section></summary><div class="docblock"><p>Duplicates the vertex attributes so that no vertices are shared.</p>
<p>This can dramatically increase the vertex count, so make sure this is what you want.
Does nothing if no <a href="enum.Indices.html" title="enum bevy_mesh::Indices">Indices</a> are set.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.with_duplicated_vertices" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#545-548">Source</a><h4 class="code-header">pub fn <a href="#method.with_duplicated_vertices" class="fn">with_duplicated_vertices</a>(self) -&gt; Self</h4></section></summary><div class="docblock"><p>Consumes the mesh and returns a mesh with no shared vertices.</p>
<p>This can dramatically increase the vertex count, so make sure this is what you want.
Does nothing if no <a href="enum.Indices.html" title="enum bevy_mesh::Indices"><code>Indices</code></a> are set.</p>
<p>(Alternatively, you can use <a href="struct.Mesh.html#method.duplicate_vertices" title="method bevy_mesh::Mesh::duplicate_vertices"><code>Mesh::duplicate_vertices</code></a> to mutate an existing mesh in-place)</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.invert_winding" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#556-596">Source</a><h4 class="code-header">pub fn <a href="#method.invert_winding" class="fn">invert_winding</a>(&amp;mut 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;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.unit.html">()</a>, <a class="enum" href="enum.MeshWindingInvertError.html" title="enum bevy_mesh::MeshWindingInvertError">MeshWindingInvertError</a>&gt;</h4></section></summary><div class="docblock"><p>Inverts the winding of the indices such that all counter-clockwise triangles are now
clockwise and vice versa.
For lines, their start and end indices are flipped.</p>
<p>Does nothing if no <a href="enum.Indices.html" title="enum bevy_mesh::Indices"><code>Indices</code></a> are set.
If this operation succeeded, an <a href="https://doc.rust-lang.org/1.84.0/core/result/enum.Result.html#variant.Ok" title="variant core::result::Result::Ok"><code>Ok</code></a> result is returned.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.with_inverted_winding" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#602-604">Source</a><h4 class="code-header">pub fn <a href="#method.with_inverted_winding" class="fn">with_inverted_winding</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;Self, <a class="enum" href="enum.MeshWindingInvertError.html" title="enum bevy_mesh::MeshWindingInvertError">MeshWindingInvertError</a>&gt;</h4></section></summary><div class="docblock"><p>Consumes the mesh and returns a mesh with inverted winding of the indices such
that all counter-clockwise triangles are now clockwise and vice versa.</p>
<p>Does nothing if no <a href="enum.Indices.html" title="enum bevy_mesh::Indices"><code>Indices</code></a> are set.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.compute_normals" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#617-627">Source</a><h4 class="code-header">pub fn <a href="#method.compute_normals" class="fn">compute_normals</a>(&amp;mut self)</h4></section></summary><div class="docblock"><p>Calculates the <a href="struct.Mesh.html#associatedconstant.ATTRIBUTE_NORMAL" title="associated constant bevy_mesh::Mesh::ATTRIBUTE_NORMAL"><code>Mesh::ATTRIBUTE_NORMAL</code></a> of a mesh.
If the mesh is indexed, this defaults to smooth normals. Otherwise, it defaults to flat
normals.</p>
<h5 id="panics-2"><a class="doc-anchor" href="#panics-2">§</a>Panics</h5>
<p>Panics if <a href="struct.Mesh.html#associatedconstant.ATTRIBUTE_POSITION" title="associated constant bevy_mesh::Mesh::ATTRIBUTE_POSITION"><code>Mesh::ATTRIBUTE_POSITION</code></a> is not of type <code>float3</code>.
Panics if the mesh has any other topology than <a href="enum.PrimitiveTopology.html#variant.TriangleList" title="variant bevy_mesh::PrimitiveTopology::TriangleList"><code>PrimitiveTopology::TriangleList</code></a>.</p>
<p>FIXME: This should handle more cases since this is called as a part of gltf
mesh loading where we cant really blame users for loading meshes that might
not conform to the limitations here!</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.compute_flat_normals" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#640-663">Source</a><h4 class="code-header">pub fn <a href="#method.compute_flat_normals" class="fn">compute_flat_normals</a>(&amp;mut self)</h4></section></summary><div class="docblock"><p>Calculates the <a href="struct.Mesh.html#associatedconstant.ATTRIBUTE_NORMAL" title="associated constant bevy_mesh::Mesh::ATTRIBUTE_NORMAL"><code>Mesh::ATTRIBUTE_NORMAL</code></a> of a mesh.</p>
<h5 id="panics-3"><a class="doc-anchor" href="#panics-3">§</a>Panics</h5>
<p>Panics if <a href="enum.Indices.html" title="enum bevy_mesh::Indices"><code>Indices</code></a> are set or <a href="struct.Mesh.html#associatedconstant.ATTRIBUTE_POSITION" title="associated constant bevy_mesh::Mesh::ATTRIBUTE_POSITION"><code>Mesh::ATTRIBUTE_POSITION</code></a> is not of type <code>float3</code>.
Panics if the mesh has any other topology than <a href="enum.PrimitiveTopology.html#variant.TriangleList" title="variant bevy_mesh::PrimitiveTopology::TriangleList"><code>PrimitiveTopology::TriangleList</code></a>.
Consider calling <a href="struct.Mesh.html#method.duplicate_vertices" title="method bevy_mesh::Mesh::duplicate_vertices"><code>Mesh::duplicate_vertices</code></a> or exporting your mesh with normal
attributes.</p>
<p>FIXME: This should handle more cases since this is called as a part of gltf
mesh loading where we cant really blame users for loading meshes that might
not conform to the limitations here!</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.compute_smooth_normals" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#676-714">Source</a><h4 class="code-header">pub fn <a href="#method.compute_smooth_normals" class="fn">compute_smooth_normals</a>(&amp;mut self)</h4></section></summary><div class="docblock"><p>Calculates the <a href="struct.Mesh.html#associatedconstant.ATTRIBUTE_NORMAL" title="associated constant bevy_mesh::Mesh::ATTRIBUTE_NORMAL"><code>Mesh::ATTRIBUTE_NORMAL</code></a> of an indexed mesh, smoothing normals for shared
vertices.</p>
<h5 id="panics-4"><a class="doc-anchor" href="#panics-4">§</a>Panics</h5>
<p>Panics if <a href="struct.Mesh.html#associatedconstant.ATTRIBUTE_POSITION" title="associated constant bevy_mesh::Mesh::ATTRIBUTE_POSITION"><code>Mesh::ATTRIBUTE_POSITION</code></a> is not of type <code>float3</code>.
Panics if the mesh has any other topology than <a href="enum.PrimitiveTopology.html#variant.TriangleList" title="variant bevy_mesh::PrimitiveTopology::TriangleList"><code>PrimitiveTopology::TriangleList</code></a>.
Panics if the mesh does not have indices defined.</p>
<p>FIXME: This should handle more cases since this is called as a part of gltf
mesh loading where we cant really blame users for loading meshes that might
not conform to the limitations here!</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.with_computed_normals" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#726-729">Source</a><h4 class="code-header">pub fn <a href="#method.with_computed_normals" class="fn">with_computed_normals</a>(self) -&gt; Self</h4></section></summary><div class="docblock"><p>Consumes the mesh and returns a mesh with calculated <a href="struct.Mesh.html#associatedconstant.ATTRIBUTE_NORMAL" title="associated constant bevy_mesh::Mesh::ATTRIBUTE_NORMAL"><code>Mesh::ATTRIBUTE_NORMAL</code></a>.
If the mesh is indexed, this defaults to smooth normals. Otherwise, it defaults to flat
normals.</p>
<p>(Alternatively, you can use <a href="struct.Mesh.html#method.compute_normals" title="method bevy_mesh::Mesh::compute_normals"><code>Mesh::compute_normals</code></a> to mutate an existing mesh in-place)</p>
<h5 id="panics-5"><a class="doc-anchor" href="#panics-5">§</a>Panics</h5>
<p>Panics if <a href="struct.Mesh.html#associatedconstant.ATTRIBUTE_POSITION" title="associated constant bevy_mesh::Mesh::ATTRIBUTE_POSITION"><code>Mesh::ATTRIBUTE_POSITION</code></a> is not of type <code>float3</code>.
Panics if the mesh has any other topology than <a href="enum.PrimitiveTopology.html#variant.TriangleList" title="variant bevy_mesh::PrimitiveTopology::TriangleList"><code>PrimitiveTopology::TriangleList</code></a>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.with_computed_flat_normals" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#740-743">Source</a><h4 class="code-header">pub fn <a href="#method.with_computed_flat_normals" class="fn">with_computed_flat_normals</a>(self) -&gt; Self</h4></section></summary><div class="docblock"><p>Consumes the mesh and returns a mesh with calculated <a href="struct.Mesh.html#associatedconstant.ATTRIBUTE_NORMAL" title="associated constant bevy_mesh::Mesh::ATTRIBUTE_NORMAL"><code>Mesh::ATTRIBUTE_NORMAL</code></a>.</p>
<p>(Alternatively, you can use <a href="struct.Mesh.html#method.compute_flat_normals" title="method bevy_mesh::Mesh::compute_flat_normals"><code>Mesh::compute_flat_normals</code></a> to mutate an existing mesh in-place)</p>
<h5 id="panics-6"><a class="doc-anchor" href="#panics-6">§</a>Panics</h5>
<p>Panics if <a href="struct.Mesh.html#associatedconstant.ATTRIBUTE_POSITION" title="associated constant bevy_mesh::Mesh::ATTRIBUTE_POSITION"><code>Mesh::ATTRIBUTE_POSITION</code></a> is not of type <code>float3</code>.
Panics if the mesh has any other topology than <a href="enum.PrimitiveTopology.html#variant.TriangleList" title="variant bevy_mesh::PrimitiveTopology::TriangleList"><code>PrimitiveTopology::TriangleList</code></a>.
Panics if the mesh has indices defined</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.with_computed_smooth_normals" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#754-757">Source</a><h4 class="code-header">pub fn <a href="#method.with_computed_smooth_normals" class="fn">with_computed_smooth_normals</a>(self) -&gt; Self</h4></section></summary><div class="docblock"><p>Consumes the mesh and returns a mesh with calculated <a href="struct.Mesh.html#associatedconstant.ATTRIBUTE_NORMAL" title="associated constant bevy_mesh::Mesh::ATTRIBUTE_NORMAL"><code>Mesh::ATTRIBUTE_NORMAL</code></a>.</p>
<p>(Alternatively, you can use <a href="struct.Mesh.html#method.compute_smooth_normals" title="method bevy_mesh::Mesh::compute_smooth_normals"><code>Mesh::compute_smooth_normals</code></a> to mutate an existing mesh in-place)</p>
<h5 id="panics-7"><a class="doc-anchor" href="#panics-7">§</a>Panics</h5>
<p>Panics if <a href="struct.Mesh.html#associatedconstant.ATTRIBUTE_POSITION" title="associated constant bevy_mesh::Mesh::ATTRIBUTE_POSITION"><code>Mesh::ATTRIBUTE_POSITION</code></a> is not of type <code>float3</code>.
Panics if the mesh has any other topology than <a href="enum.PrimitiveTopology.html#variant.TriangleList" title="variant bevy_mesh::PrimitiveTopology::TriangleList"><code>PrimitiveTopology::TriangleList</code></a>.
Panics if the mesh does not have indices defined.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.generate_tangents" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#763-767">Source</a><h4 class="code-header">pub fn <a href="#method.generate_tangents" class="fn">generate_tangents</a>(&amp;mut 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;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.unit.html">()</a>, <a class="enum" href="enum.GenerateTangentsError.html" title="enum bevy_mesh::GenerateTangentsError">GenerateTangentsError</a>&gt;</h4></section></summary><div class="docblock"><p>Generate tangents for the mesh using the <code>mikktspace</code> algorithm.</p>
<p>Sets the <a href="struct.Mesh.html#associatedconstant.ATTRIBUTE_TANGENT" title="associated constant bevy_mesh::Mesh::ATTRIBUTE_TANGENT"><code>Mesh::ATTRIBUTE_TANGENT</code></a> attribute if successful.
Requires a <a href="enum.PrimitiveTopology.html#variant.TriangleList" title="variant bevy_mesh::PrimitiveTopology::TriangleList"><code>PrimitiveTopology::TriangleList</code></a> topology and the <a href="struct.Mesh.html#associatedconstant.ATTRIBUTE_POSITION" title="associated constant bevy_mesh::Mesh::ATTRIBUTE_POSITION"><code>Mesh::ATTRIBUTE_POSITION</code></a>, <a href="struct.Mesh.html#associatedconstant.ATTRIBUTE_NORMAL" title="associated constant bevy_mesh::Mesh::ATTRIBUTE_NORMAL"><code>Mesh::ATTRIBUTE_NORMAL</code></a> and <a href="struct.Mesh.html#associatedconstant.ATTRIBUTE_UV_0" title="associated constant bevy_mesh::Mesh::ATTRIBUTE_UV_0"><code>Mesh::ATTRIBUTE_UV_0</code></a> attributes set.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.with_generated_tangents" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#776-779">Source</a><h4 class="code-header">pub fn <a href="#method.with_generated_tangents" class="fn">with_generated_tangents</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;<a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a>, <a class="enum" href="enum.GenerateTangentsError.html" title="enum bevy_mesh::GenerateTangentsError">GenerateTangentsError</a>&gt;</h4></section></summary><div class="docblock"><p>Consumes the mesh and returns a mesh with tangents generated using the <code>mikktspace</code> algorithm.</p>
<p>The resulting mesh will have the <a href="struct.Mesh.html#associatedconstant.ATTRIBUTE_TANGENT" title="associated constant bevy_mesh::Mesh::ATTRIBUTE_TANGENT"><code>Mesh::ATTRIBUTE_TANGENT</code></a> attribute if successful.</p>
<p>(Alternatively, you can use <a href="struct.Mesh.html#method.generate_tangents" title="method bevy_mesh::Mesh::generate_tangents"><code>Mesh::generate_tangents</code></a> to mutate an existing mesh in-place)</p>
<p>Requires a <a href="enum.PrimitiveTopology.html#variant.TriangleList" title="variant bevy_mesh::PrimitiveTopology::TriangleList"><code>PrimitiveTopology::TriangleList</code></a> topology and the <a href="struct.Mesh.html#associatedconstant.ATTRIBUTE_POSITION" title="associated constant bevy_mesh::Mesh::ATTRIBUTE_POSITION"><code>Mesh::ATTRIBUTE_POSITION</code></a>, <a href="struct.Mesh.html#associatedconstant.ATTRIBUTE_NORMAL" title="associated constant bevy_mesh::Mesh::ATTRIBUTE_NORMAL"><code>Mesh::ATTRIBUTE_NORMAL</code></a> and <a href="struct.Mesh.html#associatedconstant.ATTRIBUTE_UV_0" title="associated constant bevy_mesh::Mesh::ATTRIBUTE_UV_0"><code>Mesh::ATTRIBUTE_UV_0</code></a> attributes set.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.merge" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#792-860">Source</a><h4 class="code-header">pub fn <a href="#method.merge" class="fn">merge</a>(&amp;mut self, other: &amp;<a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a>)</h4></section></summary><div class="docblock"><p>Merges the <a href="struct.Mesh.html" title="struct bevy_mesh::Mesh"><code>Mesh</code></a> data of <code>other</code> with <code>self</code>. The attributes and indices of <code>other</code> will be appended to <code>self</code>.</p>
<p>Note that attributes of <code>other</code> that dont exist on <code>self</code> will be ignored.</p>
<p><code>Aabb</code> of entities with modified mesh are not updated automatically.</p>
<h5 id="panics-8"><a class="doc-anchor" href="#panics-8">§</a>Panics</h5>
<p>Panics if the vertex attribute values of <code>other</code> are incompatible with <code>self</code>.
For example, <a href="enum.VertexAttributeValues.html#variant.Float32" title="variant bevy_mesh::VertexAttributeValues::Float32"><code>VertexAttributeValues::Float32</code></a> is incompatible with <a href="enum.VertexAttributeValues.html#variant.Float32x3" title="variant bevy_mesh::VertexAttributeValues::Float32x3"><code>VertexAttributeValues::Float32x3</code></a>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.transformed_by" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#865-868">Source</a><h4 class="code-header">pub fn <a href="#method.transformed_by" class="fn">transformed_by</a>(self, transform: <a class="struct" href="../bevy_transform/components/transform/struct.Transform.html" title="struct bevy_transform::components::transform::Transform">Transform</a>) -&gt; Self</h4></section></summary><div class="docblock"><p>Transforms the vertex positions, normals, and tangents of the mesh by the given <a href="../bevy_transform/components/transform/struct.Transform.html" title="struct bevy_transform::components::transform::Transform"><code>Transform</code></a>.</p>
<p><code>Aabb</code> of entities with modified mesh are not updated automatically.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.transform_by" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#873-918">Source</a><h4 class="code-header">pub fn <a href="#method.transform_by" class="fn">transform_by</a>(&amp;mut self, transform: <a class="struct" href="../bevy_transform/components/transform/struct.Transform.html" title="struct bevy_transform::components::transform::Transform">Transform</a>)</h4></section></summary><div class="docblock"><p>Transforms the vertex positions, normals, and tangents of the mesh in place by the given <a href="../bevy_transform/components/transform/struct.Transform.html" title="struct bevy_transform::components::transform::Transform"><code>Transform</code></a>.</p>
<p><code>Aabb</code> of entities with modified mesh are not updated automatically.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.translated_by" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#923-926">Source</a><h4 class="code-header">pub fn <a href="#method.translated_by" class="fn">translated_by</a>(self, translation: <a class="struct" href="../glam/f32/vec3/struct.Vec3.html" title="struct glam::f32::vec3::Vec3">Vec3</a>) -&gt; Self</h4></section></summary><div class="docblock"><p>Translates the vertex positions of the mesh by the given <a href="../glam/f32/vec3/struct.Vec3.html" title="struct glam::f32::vec3::Vec3"><code>Vec3</code></a>.</p>
<p><code>Aabb</code> of entities with modified mesh are not updated automatically.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.translate_by" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#931-944">Source</a><h4 class="code-header">pub fn <a href="#method.translate_by" class="fn">translate_by</a>(&amp;mut self, translation: <a class="struct" href="../glam/f32/vec3/struct.Vec3.html" title="struct glam::f32::vec3::Vec3">Vec3</a>)</h4></section></summary><div class="docblock"><p>Translates the vertex positions of the mesh in place by the given <a href="../glam/f32/vec3/struct.Vec3.html" title="struct glam::f32::vec3::Vec3"><code>Vec3</code></a>.</p>
<p><code>Aabb</code> of entities with modified mesh are not updated automatically.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.rotated_by" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#949-952">Source</a><h4 class="code-header">pub fn <a href="#method.rotated_by" class="fn">rotated_by</a>(self, rotation: <a class="struct" href="../glam/f32/sse2/quat/struct.Quat.html" title="struct glam::f32::sse2::quat::Quat">Quat</a>) -&gt; Self</h4></section></summary><div class="docblock"><p>Rotates the vertex positions, normals, and tangents of the mesh by the given <a href="../glam/f32/sse2/quat/struct.Quat.html" title="struct glam::f32::sse2::quat::Quat"><code>Quat</code></a>.</p>
<p><code>Aabb</code> of entities with modified mesh are not updated automatically.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.rotate_by" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#957-989">Source</a><h4 class="code-header">pub fn <a href="#method.rotate_by" class="fn">rotate_by</a>(&amp;mut self, rotation: <a class="struct" href="../glam/f32/sse2/quat/struct.Quat.html" title="struct glam::f32::sse2::quat::Quat">Quat</a>)</h4></section></summary><div class="docblock"><p>Rotates the vertex positions, normals, and tangents of the mesh in place by the given <a href="../glam/f32/sse2/quat/struct.Quat.html" title="struct glam::f32::sse2::quat::Quat"><code>Quat</code></a>.</p>
<p><code>Aabb</code> of entities with modified mesh are not updated automatically.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.scaled_by" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#994-997">Source</a><h4 class="code-header">pub fn <a href="#method.scaled_by" class="fn">scaled_by</a>(self, scale: <a class="struct" href="../glam/f32/vec3/struct.Vec3.html" title="struct glam::f32::vec3::Vec3">Vec3</a>) -&gt; Self</h4></section></summary><div class="docblock"><p>Scales the vertex positions, normals, and tangents of the mesh by the given <a href="../glam/f32/vec3/struct.Vec3.html" title="struct glam::f32::vec3::Vec3"><code>Vec3</code></a>.</p>
<p><code>Aabb</code> of entities with modified mesh are not updated automatically.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.scale_by" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#1002-1042">Source</a><h4 class="code-header">pub fn <a href="#method.scale_by" class="fn">scale_by</a>(&amp;mut self, scale: <a class="struct" href="../glam/f32/vec3/struct.Vec3.html" title="struct glam::f32::vec3::Vec3">Vec3</a>)</h4></section></summary><div class="docblock"><p>Scales the vertex positions, normals, and tangents of the mesh in place by the given <a href="../glam/f32/vec3/struct.Vec3.html" title="struct glam::f32::vec3::Vec3"><code>Vec3</code></a>.</p>
<p><code>Aabb</code> of entities with modified mesh are not updated automatically.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.has_morph_targets" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#1045-1047">Source</a><h4 class="code-header">pub fn <a href="#method.has_morph_targets" class="fn">has_morph_targets</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"><p>Whether this mesh has morph targets.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.set_morph_targets" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#1052-1054">Source</a><h4 class="code-header">pub fn <a href="#method.set_morph_targets" class="fn">set_morph_targets</a>(&amp;mut self, morph_targets: <a class="enum" href="../bevy_asset/handle/enum.Handle.html" title="enum bevy_asset::handle::Handle">Handle</a>&lt;<a class="struct" href="../bevy_image/image/struct.Image.html" title="struct bevy_image::image::Image">Image</a>&gt;)</h4></section></summary><div class="docblock"><p>Set <a href="https://en.wikipedia.org/wiki/Morph_target_animation">morph targets</a> image for this mesh. This requires a “morph target image”. See <a href="morph/struct.MorphTargetImage.html" title="struct bevy_mesh::morph::MorphTargetImage"><code>MorphTargetImage</code></a> for info.</p>
</div></details><section id="method.morph_targets" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#1056-1058">Source</a><h4 class="code-header">pub fn <a href="#method.morph_targets" class="fn">morph_targets</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;<a class="enum" href="../bevy_asset/handle/enum.Handle.html" title="enum bevy_asset::handle::Handle">Handle</a>&lt;<a class="struct" href="../bevy_image/image/struct.Image.html" title="struct bevy_image::image::Image">Image</a>&gt;&gt;</h4></section><details class="toggle method-toggle" open><summary><section id="method.with_morph_targets" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#1068-1071">Source</a><h4 class="code-header">pub fn <a href="#method.with_morph_targets" class="fn">with_morph_targets</a>(self, morph_targets: <a class="enum" href="../bevy_asset/handle/enum.Handle.html" title="enum bevy_asset::handle::Handle">Handle</a>&lt;<a class="struct" href="../bevy_image/image/struct.Image.html" title="struct bevy_image::image::Image">Image</a>&gt;) -&gt; Self</h4></section></summary><div class="docblock"><p>Consumes the mesh and returns a mesh with the given <a href="https://en.wikipedia.org/wiki/Morph_target_animation">morph targets</a>.</p>
<p>This requires a “morph target image”. See <a href="morph/struct.MorphTargetImage.html" title="struct bevy_mesh::morph::MorphTargetImage"><code>MorphTargetImage</code></a> for info.</p>
<p>(Alternatively, you can use <a href="struct.Mesh.html#method.set_morph_targets" title="method bevy_mesh::Mesh::set_morph_targets"><code>Mesh::set_morph_targets</code></a> to mutate an existing mesh in-place)</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.set_morph_target_names" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#1074-1076">Source</a><h4 class="code-header">pub fn <a href="#method.set_morph_target_names" class="fn">set_morph_target_names</a>(&amp;mut self, names: <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="https://doc.rust-lang.org/1.84.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;)</h4></section></summary><div class="docblock"><p>Sets the names of each morph target. This should correspond to the order of the morph targets in <code>set_morph_targets</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.with_morph_target_names" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#1083-1086">Source</a><h4 class="code-header">pub fn <a href="#method.with_morph_target_names" class="fn">with_morph_target_names</a>(self, names: <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="https://doc.rust-lang.org/1.84.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;) -&gt; Self</h4></section></summary><div class="docblock"><p>Consumes the mesh and returns a mesh with morph target names.
Names should correspond to the order of the morph targets in <code>set_morph_targets</code>.</p>
<p>(Alternatively, you can use <a href="struct.Mesh.html#method.set_morph_target_names" title="method bevy_mesh::Mesh::set_morph_target_names"><code>Mesh::set_morph_target_names</code></a> to mutate an existing mesh in-place)</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.morph_target_names" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#1089-1091">Source</a><h4 class="code-header">pub fn <a href="#method.morph_target_names" class="fn">morph_target_names</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;[<a class="struct" href="https://doc.rust-lang.org/1.84.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>]&gt;</h4></section></summary><div class="docblock"><p>Gets a list of all morph target names, if they exist.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.normalize_joint_weights" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#1094-1116">Source</a><h4 class="code-header">pub fn <a href="#method.normalize_joint_weights" class="fn">normalize_joint_weights</a>(&amp;mut self)</h4></section></summary><div class="docblock"><p>Normalize joint weights so they sum to 1.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.triangles" class="method"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#1127-1214">Source</a><h4 class="code-header">pub fn <a href="#method.triangles" class="fn">triangles</a>(
&amp;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;impl <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = <a class="struct" href="../bevy_math/primitives/dim3/struct.Triangle3d.html" title="struct bevy_math::primitives::dim3::Triangle3d">Triangle3d</a>&gt; + '_, <a class="enum" href="enum.MeshTrianglesError.html" title="enum bevy_mesh::MeshTrianglesError">MeshTrianglesError</a>&gt;</h4></section></summary><div class="docblock"><p>Get a list of this Meshs <a href="../bevy_math/primitives/dim3/struct.Triangle3d.html" title="struct bevy_math::primitives::dim3::Triangle3d">triangles</a> as an iterator if possible.</p>
<p>Returns an error if any of the following conditions are met (see <a href="enum.MeshTrianglesError.html" title="enum bevy_mesh::MeshTrianglesError"><code>MeshTrianglesError</code></a>):</p>
<ul>
<li>The Meshs <a href="enum.PrimitiveTopology.html" title="enum bevy_mesh::PrimitiveTopology">primitive topology</a> is not <code>TriangleList</code> or <code>TriangleStrip</code>.</li>
<li>The Mesh is missing position or index data.</li>
<li>The Meshs position data has the wrong format (not <code>Float32x3</code>).</li>
</ul>
</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-Mesh" class="impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#impl-Clone-for-Mesh" 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.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</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/bevy_mesh/mesh.rs.html#106">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.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</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-Mesh" class="impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#impl-Debug-for-Mesh" 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.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</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/bevy_mesh/mesh.rs.html#106">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-From%3CAnnulus%3E-for-Mesh" class="impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim2.rs.html#719-723">Source</a><a href="#impl-From%3CAnnulus%3E-for-Mesh" class="anchor">§</a><h3 class="code-header">impl <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;<a class="struct" href="../bevy_math/primitives/dim2/struct.Annulus.html" title="struct bevy_math::primitives::dim2::Annulus">Annulus</a>&gt; for <a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-6" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim2.rs.html#720-722">Source</a><a href="#method.from-6" 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>(annulus: <a class="struct" href="../bevy_math/primitives/dim2/struct.Annulus.html" title="struct bevy_math::primitives::dim2::Annulus">Annulus</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CCapsule2d%3E-for-Mesh" class="impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim2.rs.html#1048-1052">Source</a><a href="#impl-From%3CCapsule2d%3E-for-Mesh" class="anchor">§</a><h3 class="code-header">impl <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;<a class="struct" href="../bevy_math/primitives/dim2/struct.Capsule2d.html" title="struct bevy_math::primitives::dim2::Capsule2d">Capsule2d</a>&gt; for <a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-10" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim2.rs.html#1049-1051">Source</a><a href="#method.from-10" 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>(capsule: <a class="struct" href="../bevy_math/primitives/dim2/struct.Capsule2d.html" title="struct bevy_math::primitives::dim2::Capsule2d">Capsule2d</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CCapsule3d%3E-for-Mesh" class="impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim3/capsule.rs.html#430-434">Source</a><a href="#impl-From%3CCapsule3d%3E-for-Mesh" class="anchor">§</a><h3 class="code-header">impl <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;<a class="struct" href="../bevy_math/primitives/dim3/struct.Capsule3d.html" title="struct bevy_math::primitives::dim3::Capsule3d">Capsule3d</a>&gt; for <a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-11" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim3/capsule.rs.html#431-433">Source</a><a href="#method.from-11" 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>(capsule: <a class="struct" href="../bevy_math/primitives/dim3/struct.Capsule3d.html" title="struct bevy_math::primitives::dim3::Capsule3d">Capsule3d</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CCircle%3E-for-Mesh" class="impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim2.rs.html#86-90">Source</a><a href="#impl-From%3CCircle%3E-for-Mesh" class="anchor">§</a><h3 class="code-header">impl <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;<a class="struct" href="../bevy_math/primitives/dim2/struct.Circle.html" title="struct bevy_math::primitives::dim2::Circle">Circle</a>&gt; for <a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a></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="../src/bevy_mesh/primitives/dim2.rs.html#87-89">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>(circle: <a class="struct" href="../bevy_math/primitives/dim2/struct.Circle.html" title="struct bevy_math::primitives::dim2::Circle">Circle</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CCircularSector%3E-for-Mesh" class="impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim2.rs.html#246-253">Source</a><a href="#impl-From%3CCircularSector%3E-for-Mesh" class="anchor">§</a><h3 class="code-header">impl <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;<a class="struct" href="../bevy_math/primitives/dim2/struct.CircularSector.html" title="struct bevy_math::primitives::dim2::CircularSector">CircularSector</a>&gt; for <a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim2.rs.html#250-252">Source</a><a href="#method.from-1" 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>(sector: <a class="struct" href="../bevy_math/primitives/dim2/struct.CircularSector.html" title="struct bevy_math::primitives::dim2::CircularSector">CircularSector</a>) -&gt; Self</h4></section></summary><div class="docblock"><p>Converts this sector into a <a href="struct.Mesh.html" title="struct bevy_mesh::Mesh"><code>Mesh</code></a> using a default <a href="primitives/struct.CircularSectorMeshBuilder.html" title="struct bevy_mesh::primitives::CircularSectorMeshBuilder"><code>CircularSectorMeshBuilder</code></a>.</p>
<p>See the documentation of <a href="primitives/struct.CircularSectorMeshBuilder.html" title="struct bevy_mesh::primitives::CircularSectorMeshBuilder"><code>CircularSectorMeshBuilder</code></a> for more details.</p>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CCircularSegment%3E-for-Mesh" class="impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim2.rs.html#392-399">Source</a><a href="#impl-From%3CCircularSegment%3E-for-Mesh" class="anchor">§</a><h3 class="code-header">impl <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;<a class="struct" href="../bevy_math/primitives/dim2/struct.CircularSegment.html" title="struct bevy_math::primitives::dim2::CircularSegment">CircularSegment</a>&gt; for <a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-2" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim2.rs.html#396-398">Source</a><a href="#method.from-2" 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>(segment: <a class="struct" href="../bevy_math/primitives/dim2/struct.CircularSegment.html" title="struct bevy_math::primitives::dim2::CircularSegment">CircularSegment</a>) -&gt; Self</h4></section></summary><div class="docblock"><p>Converts this sector into a <a href="struct.Mesh.html" title="struct bevy_mesh::Mesh"><code>Mesh</code></a> using a default <a href="primitives/struct.CircularSegmentMeshBuilder.html" title="struct bevy_mesh::primitives::CircularSegmentMeshBuilder"><code>CircularSegmentMeshBuilder</code></a>.</p>
<p>See the documentation of <a href="primitives/struct.CircularSegmentMeshBuilder.html" title="struct bevy_mesh::primitives::CircularSegmentMeshBuilder"><code>CircularSegmentMeshBuilder</code></a> for more details.</p>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CCone%3E-for-Mesh" class="impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim3/cone.rs.html#183-187">Source</a><a href="#impl-From%3CCone%3E-for-Mesh" class="anchor">§</a><h3 class="code-header">impl <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;<a class="struct" href="../bevy_math/primitives/dim3/struct.Cone.html" title="struct bevy_math::primitives::dim3::Cone">Cone</a>&gt; for <a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-12" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim3/cone.rs.html#184-186">Source</a><a href="#method.from-12" 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>(cone: <a class="struct" href="../bevy_math/primitives/dim3/struct.Cone.html" title="struct bevy_math::primitives::dim3::Cone">Cone</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CConicalFrustum%3E-for-Mesh" class="impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim3/conical_frustum.rs.html#179-183">Source</a><a href="#impl-From%3CConicalFrustum%3E-for-Mesh" class="anchor">§</a><h3 class="code-header">impl <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;<a class="struct" href="../bevy_math/primitives/dim3/struct.ConicalFrustum.html" title="struct bevy_math::primitives::dim3::ConicalFrustum">ConicalFrustum</a>&gt; for <a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-13" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim3/conical_frustum.rs.html#180-182">Source</a><a href="#method.from-13" 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>(frustum: <a class="struct" href="../bevy_math/primitives/dim3/struct.ConicalFrustum.html" title="struct bevy_math::primitives::dim3::ConicalFrustum">ConicalFrustum</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CConvexPolygon%3CN%3E%3E-for-Mesh" class="impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim2.rs.html#444-448">Source</a><a href="#impl-From%3CConvexPolygon%3CN%3E%3E-for-Mesh" class="anchor">§</a><h3 class="code-header">impl&lt;const N: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.usize.html">usize</a>&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;<a class="struct" href="../bevy_math/primitives/dim2/struct.ConvexPolygon.html" title="struct bevy_math::primitives::dim2::ConvexPolygon">ConvexPolygon</a>&lt;N&gt;&gt; for <a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-3" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim2.rs.html#445-447">Source</a><a href="#method.from-3" 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>(polygon: <a class="struct" href="../bevy_math/primitives/dim2/struct.ConvexPolygon.html" title="struct bevy_math::primitives::dim2::ConvexPolygon">ConvexPolygon</a>&lt;N&gt;) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CCuboid%3E-for-Mesh" class="impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim3/cuboid.rs.html#84-88">Source</a><a href="#impl-From%3CCuboid%3E-for-Mesh" class="anchor">§</a><h3 class="code-header">impl <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;<a class="struct" href="../bevy_math/primitives/dim3/struct.Cuboid.html" title="struct bevy_math::primitives::dim3::Cuboid">Cuboid</a>&gt; for <a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-14" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim3/cuboid.rs.html#85-87">Source</a><a href="#method.from-14" 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>(cuboid: <a class="struct" href="../bevy_math/primitives/dim3/struct.Cuboid.html" title="struct bevy_math::primitives::dim3::Cuboid">Cuboid</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CCylinder%3E-for-Mesh" class="impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim3/cylinder.rs.html#216-220">Source</a><a href="#impl-From%3CCylinder%3E-for-Mesh" class="anchor">§</a><h3 class="code-header">impl <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;<a class="struct" href="../bevy_math/primitives/dim3/struct.Cylinder.html" title="struct bevy_math::primitives::dim3::Cylinder">Cylinder</a>&gt; for <a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-15" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim3/cylinder.rs.html#217-219">Source</a><a href="#method.from-15" 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>(cylinder: <a class="struct" href="../bevy_math/primitives/dim3/struct.Cylinder.html" title="struct bevy_math::primitives::dim3::Cylinder">Cylinder</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CEllipse%3E-for-Mesh" class="impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim2.rs.html#588-592">Source</a><a href="#impl-From%3CEllipse%3E-for-Mesh" class="anchor">§</a><h3 class="code-header">impl <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;<a class="struct" href="../bevy_math/primitives/dim2/struct.Ellipse.html" title="struct bevy_math::primitives::dim2::Ellipse">Ellipse</a>&gt; for <a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-5" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim2.rs.html#589-591">Source</a><a href="#method.from-5" 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>(ellipse: <a class="struct" href="../bevy_math/primitives/dim2/struct.Ellipse.html" title="struct bevy_math::primitives::dim2::Ellipse">Ellipse</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExtrusion%3CP%3E%3E-for-Mesh" class="impl"><a class="src rightside" href="../src/bevy_mesh/primitives/extrusion.rs.html#420-428">Source</a><a href="#impl-From%3CExtrusion%3CP%3E%3E-for-Mesh" class="anchor">§</a><h3 class="code-header">impl&lt;P&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;<a class="struct" href="../bevy_math/primitives/dim3/struct.Extrusion.html" title="struct bevy_math::primitives::dim3::Extrusion">Extrusion</a>&lt;P&gt;&gt; for <a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a><div class="where">where
P: <a class="trait" href="../bevy_math/primitives/trait.Primitive2d.html" title="trait bevy_math::primitives::Primitive2d">Primitive2d</a> + <a class="trait" href="primitives/trait.Meshable.html" title="trait bevy_mesh::primitives::Meshable">Meshable</a>,
P::<a class="associatedtype" href="primitives/trait.Meshable.html#associatedtype.Output" title="type bevy_mesh::primitives::Meshable::Output">Output</a>: <a class="trait" href="primitives/trait.Extrudable.html" title="trait bevy_mesh::primitives::Extrudable">Extrudable</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-21" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/primitives/extrusion.rs.html#425-427">Source</a><a href="#method.from-21" 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>(value: <a class="struct" href="../bevy_math/primitives/dim3/struct.Extrusion.html" title="struct bevy_math::primitives::dim3::Extrusion">Extrusion</a>&lt;P&gt;) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CPlane3d%3E-for-Mesh" class="impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim3/plane.rs.html#155-159">Source</a><a href="#impl-From%3CPlane3d%3E-for-Mesh" class="anchor">§</a><h3 class="code-header">impl <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;<a class="struct" href="../bevy_math/primitives/dim3/struct.Plane3d.html" title="struct bevy_math::primitives::dim3::Plane3d">Plane3d</a>&gt; for <a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-16" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim3/plane.rs.html#156-158">Source</a><a href="#method.from-16" 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>(plane: <a class="struct" href="../bevy_math/primitives/dim3/struct.Plane3d.html" title="struct bevy_math::primitives::dim3::Plane3d">Plane3d</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CRectangle%3E-for-Mesh" class="impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim2.rs.html#888-892">Source</a><a href="#impl-From%3CRectangle%3E-for-Mesh" class="anchor">§</a><h3 class="code-header">impl <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;<a class="struct" href="../bevy_math/primitives/dim2/struct.Rectangle.html" title="struct bevy_math::primitives::dim2::Rectangle">Rectangle</a>&gt; for <a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-9" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim2.rs.html#889-891">Source</a><a href="#method.from-9" 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>(rectangle: <a class="struct" href="../bevy_math/primitives/dim2/struct.Rectangle.html" title="struct bevy_math::primitives::dim2::Rectangle">Rectangle</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CRegularPolygon%3E-for-Mesh" class="impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim2.rs.html#484-488">Source</a><a href="#impl-From%3CRegularPolygon%3E-for-Mesh" class="anchor">§</a><h3 class="code-header">impl <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;<a class="struct" href="../bevy_math/primitives/dim2/struct.RegularPolygon.html" title="struct bevy_math::primitives::dim2::RegularPolygon">RegularPolygon</a>&gt; for <a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-4" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim2.rs.html#485-487">Source</a><a href="#method.from-4" 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>(polygon: <a class="struct" href="../bevy_math/primitives/dim2/struct.RegularPolygon.html" title="struct bevy_math::primitives::dim2::RegularPolygon">RegularPolygon</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CRhombus%3E-for-Mesh" class="impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim2.rs.html#771-775">Source</a><a href="#impl-From%3CRhombus%3E-for-Mesh" class="anchor">§</a><h3 class="code-header">impl <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;<a class="struct" href="../bevy_math/primitives/dim2/struct.Rhombus.html" title="struct bevy_math::primitives::dim2::Rhombus">Rhombus</a>&gt; for <a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-7" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim2.rs.html#772-774">Source</a><a href="#method.from-7" 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>(rhombus: <a class="struct" href="../bevy_math/primitives/dim2/struct.Rhombus.html" title="struct bevy_math::primitives::dim2::Rhombus">Rhombus</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CSphere%3E-for-Mesh" class="impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim3/sphere.rs.html#258-262">Source</a><a href="#impl-From%3CSphere%3E-for-Mesh" class="anchor">§</a><h3 class="code-header">impl <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;<a class="struct" href="../bevy_math/primitives/dim3/struct.Sphere.html" title="struct bevy_math::primitives::dim3::Sphere">Sphere</a>&gt; for <a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-17" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim3/sphere.rs.html#259-261">Source</a><a href="#method.from-17" 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>(sphere: <a class="struct" href="../bevy_math/primitives/dim3/struct.Sphere.html" title="struct bevy_math::primitives::dim3::Sphere">Sphere</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CT%3E-for-Mesh" class="impl"><a class="src rightside" href="../src/bevy_mesh/primitives/mod.rs.html#48-52">Source</a><a href="#impl-From%3CT%3E-for-Mesh" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="primitives/trait.MeshBuilder.html" title="trait bevy_mesh::primitives::MeshBuilder">MeshBuilder</a>&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 <a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-22" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/primitives/mod.rs.html#49-51">Source</a><a href="#method.from-22" 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>(builder: T) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CTetrahedron%3E-for-Mesh" class="impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim3/tetrahedron.rs.html#60-64">Source</a><a href="#impl-From%3CTetrahedron%3E-for-Mesh" class="anchor">§</a><h3 class="code-header">impl <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;<a class="struct" href="../bevy_math/primitives/dim3/struct.Tetrahedron.html" title="struct bevy_math::primitives::dim3::Tetrahedron">Tetrahedron</a>&gt; for <a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-18" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim3/tetrahedron.rs.html#61-63">Source</a><a href="#method.from-18" 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>(tetrahedron: <a class="struct" href="../bevy_math/primitives/dim3/struct.Tetrahedron.html" title="struct bevy_math::primitives::dim3::Tetrahedron">Tetrahedron</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CTorus%3E-for-Mesh" class="impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim3/torus.rs.html#171-175">Source</a><a href="#impl-From%3CTorus%3E-for-Mesh" class="anchor">§</a><h3 class="code-header">impl <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;<a class="struct" href="../bevy_math/primitives/dim3/struct.Torus.html" title="struct bevy_math::primitives::dim3::Torus">Torus</a>&gt; for <a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-19" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim3/torus.rs.html#172-174">Source</a><a href="#method.from-19" 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>(torus: <a class="struct" href="../bevy_math/primitives/dim3/struct.Torus.html" title="struct bevy_math::primitives::dim3::Torus">Torus</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CTriangle2d%3E-for-Mesh" class="impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim2.rs.html#835-839">Source</a><a href="#impl-From%3CTriangle2d%3E-for-Mesh" class="anchor">§</a><h3 class="code-header">impl <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;<a class="struct" href="../bevy_math/primitives/dim2/struct.Triangle2d.html" title="struct bevy_math::primitives::dim2::Triangle2d">Triangle2d</a>&gt; for <a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-8" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim2.rs.html#836-838">Source</a><a href="#method.from-8" 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>(triangle: <a class="struct" href="../bevy_math/primitives/dim2/struct.Triangle2d.html" title="struct bevy_math::primitives::dim2::Triangle2d">Triangle2d</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CTriangle3d%3E-for-Mesh" class="impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim3/triangle3d.rs.html#95-99">Source</a><a href="#impl-From%3CTriangle3d%3E-for-Mesh" class="anchor">§</a><h3 class="code-header">impl <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;<a class="struct" href="../bevy_math/primitives/dim3/struct.Triangle3d.html" title="struct bevy_math::primitives::dim3::Triangle3d">Triangle3d</a>&gt; for <a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-20" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/primitives/dim3/triangle3d.rs.html#96-98">Source</a><a href="#method.from-20" 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>(triangle: <a class="struct" href="../bevy_math/primitives/dim3/struct.Triangle3d.html" title="struct bevy_math::primitives::dim3::Triangle3d">Triangle3d</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-FromReflect-for-Mesh" class="impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#impl-FromReflect-for-Mesh" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../bevy_reflect/from_reflect/trait.FromReflect.html" title="trait bevy_reflect::from_reflect::FromReflect">FromReflect</a> for <a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a><div class="where">where
<a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a>: <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>,
<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="enum" href="enum.Indices.html" title="enum bevy_mesh::Indices">Indices</a>&gt;: <a class="trait" href="../bevy_reflect/from_reflect/trait.FromReflect.html" title="trait bevy_reflect::from_reflect::FromReflect">FromReflect</a> + <a class="trait" href="../bevy_reflect/type_path/trait.TypePath.html" title="trait bevy_reflect::type_path::TypePath">TypePath</a> + MaybeTyped + RegisterForReflection,
<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="enum" href="../bevy_asset/handle/enum.Handle.html" title="enum bevy_asset::handle::Handle">Handle</a>&lt;<a class="struct" href="../bevy_image/image/struct.Image.html" title="struct bevy_image::image::Image">Image</a>&gt;&gt;: <a class="trait" href="../bevy_reflect/from_reflect/trait.FromReflect.html" title="trait bevy_reflect::from_reflect::FromReflect">FromReflect</a> + <a class="trait" href="../bevy_reflect/type_path/trait.TypePath.html" title="trait bevy_reflect::type_path::TypePath">TypePath</a> + MaybeTyped + RegisterForReflection,
<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="struct" href="https://doc.rust-lang.org/1.84.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;&gt;: <a class="trait" href="../bevy_reflect/from_reflect/trait.FromReflect.html" title="trait bevy_reflect::from_reflect::FromReflect">FromReflect</a> + <a class="trait" href="../bevy_reflect/type_path/trait.TypePath.html" title="trait bevy_reflect::type_path::TypePath">TypePath</a> + MaybeTyped + RegisterForReflection,
<a class="struct" href="../bevy_asset/render_asset/struct.RenderAssetUsages.html" title="struct bevy_asset::render_asset::RenderAssetUsages">RenderAssetUsages</a>: <a class="trait" href="../bevy_reflect/from_reflect/trait.FromReflect.html" title="trait bevy_reflect::from_reflect::FromReflect">FromReflect</a> + <a class="trait" href="../bevy_reflect/type_path/trait.TypePath.html" title="trait bevy_reflect::type_path::TypePath">TypePath</a> + MaybeTyped + RegisterForReflection,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_reflect" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.from_reflect" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/from_reflect/trait.FromReflect.html#tymethod.from_reflect" class="fn">from_reflect</a>(reflect: &amp;dyn <a class="trait" href="../bevy_reflect/reflect/trait.PartialReflect.html" title="trait bevy_reflect::reflect::PartialReflect">PartialReflect</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;Self&gt;</h4></section></summary><div class='docblock'>Constructs a concrete instance of <code>Self</code> from a reflected value.</div></details><details class="toggle method-toggle" open><summary><section id="method.take_from_reflect" class="method trait-impl"><a class="src rightside" href="../src/bevy_reflect/from_reflect.rs.html#42-44">Source</a><a href="#method.take_from_reflect" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/from_reflect/trait.FromReflect.html#method.take_from_reflect" class="fn">take_from_reflect</a>(
reflect: <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="../bevy_reflect/reflect/trait.PartialReflect.html" title="trait bevy_reflect::reflect::PartialReflect">PartialReflect</a>&gt;,
) -&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, <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="../bevy_reflect/reflect/trait.PartialReflect.html" title="trait bevy_reflect::reflect::PartialReflect">PartialReflect</a>&gt;&gt;</h4></section></summary><div class='docblock'>Attempts to downcast the given value to <code>Self</code> using,
constructing the value using <a href="../bevy_reflect/from_reflect/trait.FromReflect.html#tymethod.from_reflect" title="associated function bevy_reflect::from_reflect::FromReflect::from_reflect::from_reflect"><code>from_reflect</code></a> if that fails. <a href="../bevy_reflect/from_reflect/trait.FromReflect.html#method.take_from_reflect">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-GetTypeRegistration-for-Mesh" class="impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#impl-GetTypeRegistration-for-Mesh" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../bevy_reflect/type_registry/trait.GetTypeRegistration.html" title="trait bevy_reflect::type_registry::GetTypeRegistration">GetTypeRegistration</a> for <a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a><div class="where">where
<a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a>: <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>,
<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="enum" href="enum.Indices.html" title="enum bevy_mesh::Indices">Indices</a>&gt;: <a class="trait" href="../bevy_reflect/from_reflect/trait.FromReflect.html" title="trait bevy_reflect::from_reflect::FromReflect">FromReflect</a> + <a class="trait" href="../bevy_reflect/type_path/trait.TypePath.html" title="trait bevy_reflect::type_path::TypePath">TypePath</a> + MaybeTyped + RegisterForReflection,
<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="enum" href="../bevy_asset/handle/enum.Handle.html" title="enum bevy_asset::handle::Handle">Handle</a>&lt;<a class="struct" href="../bevy_image/image/struct.Image.html" title="struct bevy_image::image::Image">Image</a>&gt;&gt;: <a class="trait" href="../bevy_reflect/from_reflect/trait.FromReflect.html" title="trait bevy_reflect::from_reflect::FromReflect">FromReflect</a> + <a class="trait" href="../bevy_reflect/type_path/trait.TypePath.html" title="trait bevy_reflect::type_path::TypePath">TypePath</a> + MaybeTyped + RegisterForReflection,
<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="struct" href="https://doc.rust-lang.org/1.84.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;&gt;: <a class="trait" href="../bevy_reflect/from_reflect/trait.FromReflect.html" title="trait bevy_reflect::from_reflect::FromReflect">FromReflect</a> + <a class="trait" href="../bevy_reflect/type_path/trait.TypePath.html" title="trait bevy_reflect::type_path::TypePath">TypePath</a> + MaybeTyped + RegisterForReflection,
<a class="struct" href="../bevy_asset/render_asset/struct.RenderAssetUsages.html" title="struct bevy_asset::render_asset::RenderAssetUsages">RenderAssetUsages</a>: <a class="trait" href="../bevy_reflect/from_reflect/trait.FromReflect.html" title="trait bevy_reflect::from_reflect::FromReflect">FromReflect</a> + <a class="trait" href="../bevy_reflect/type_path/trait.TypePath.html" title="trait bevy_reflect::type_path::TypePath">TypePath</a> + MaybeTyped + RegisterForReflection,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.get_type_registration" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.get_type_registration" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/type_registry/trait.GetTypeRegistration.html#tymethod.get_type_registration" class="fn">get_type_registration</a>() -&gt; <a class="struct" href="../bevy_reflect/type_registry/struct.TypeRegistration.html" title="struct bevy_reflect::type_registry::TypeRegistration">TypeRegistration</a></h4></section></summary><div class='docblock'>Returns the default <a href="../bevy_reflect/type_registry/struct.TypeRegistration.html" title="struct bevy_reflect::type_registry::TypeRegistration"><code>TypeRegistration</code></a> for this type.</div></details><details class="toggle method-toggle" open><summary><section id="method.register_type_dependencies" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.register_type_dependencies" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/type_registry/trait.GetTypeRegistration.html#method.register_type_dependencies" class="fn">register_type_dependencies</a>(registry: &amp;mut <a class="struct" href="../bevy_reflect/type_registry/struct.TypeRegistry.html" title="struct bevy_reflect::type_registry::TypeRegistry">TypeRegistry</a>)</h4></section></summary><div class='docblock'>Registers other types needed by this type. <a href="../bevy_reflect/type_registry/trait.GetTypeRegistration.html#method.register_type_dependencies">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mul%3CMesh%3E-for-Transform" class="impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#1217-1223">Source</a><a href="#impl-Mul%3CMesh%3E-for-Transform" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Mul.html" title="trait core::ops::arith::Mul">Mul</a>&lt;<a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a>&gt; for <a class="struct" href="../bevy_transform/components/transform/struct.Transform.html" title="struct bevy_transform::components::transform::Transform">Transform</a></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/bevy_mesh/mesh.rs.html#1218">Source</a><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Mul.html#associatedtype.Output" class="associatedtype">Output</a> = <a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a></h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="toggle method-toggle" open><summary><section id="method.mul" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#1220-1222">Source</a><a href="#method.mul" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Mul.html#tymethod.mul" class="fn">mul</a>(self, rhs: <a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a>) -&gt; Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Mul.html#associatedtype.Output" title="type core::ops::arith::Mul::Output">Output</a></h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Mul.html#tymethod.mul">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialReflect-for-Mesh" class="impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#impl-PartialReflect-for-Mesh" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../bevy_reflect/reflect/trait.PartialReflect.html" title="trait bevy_reflect::reflect::PartialReflect">PartialReflect</a> for <a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a><div class="where">where
<a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a>: <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>,
<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="enum" href="enum.Indices.html" title="enum bevy_mesh::Indices">Indices</a>&gt;: <a class="trait" href="../bevy_reflect/from_reflect/trait.FromReflect.html" title="trait bevy_reflect::from_reflect::FromReflect">FromReflect</a> + <a class="trait" href="../bevy_reflect/type_path/trait.TypePath.html" title="trait bevy_reflect::type_path::TypePath">TypePath</a> + MaybeTyped + RegisterForReflection,
<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="enum" href="../bevy_asset/handle/enum.Handle.html" title="enum bevy_asset::handle::Handle">Handle</a>&lt;<a class="struct" href="../bevy_image/image/struct.Image.html" title="struct bevy_image::image::Image">Image</a>&gt;&gt;: <a class="trait" href="../bevy_reflect/from_reflect/trait.FromReflect.html" title="trait bevy_reflect::from_reflect::FromReflect">FromReflect</a> + <a class="trait" href="../bevy_reflect/type_path/trait.TypePath.html" title="trait bevy_reflect::type_path::TypePath">TypePath</a> + MaybeTyped + RegisterForReflection,
<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="struct" href="https://doc.rust-lang.org/1.84.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;&gt;: <a class="trait" href="../bevy_reflect/from_reflect/trait.FromReflect.html" title="trait bevy_reflect::from_reflect::FromReflect">FromReflect</a> + <a class="trait" href="../bevy_reflect/type_path/trait.TypePath.html" title="trait bevy_reflect::type_path::TypePath">TypePath</a> + MaybeTyped + RegisterForReflection,
<a class="struct" href="../bevy_asset/render_asset/struct.RenderAssetUsages.html" title="struct bevy_asset::render_asset::RenderAssetUsages">RenderAssetUsages</a>: <a class="trait" href="../bevy_reflect/from_reflect/trait.FromReflect.html" title="trait bevy_reflect::from_reflect::FromReflect">FromReflect</a> + <a class="trait" href="../bevy_reflect/type_path/trait.TypePath.html" title="trait bevy_reflect::type_path::TypePath">TypePath</a> + MaybeTyped + RegisterForReflection,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.get_represented_type_info" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.get_represented_type_info" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/reflect/trait.PartialReflect.html#tymethod.get_represented_type_info" class="fn">get_represented_type_info</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;'static <a class="enum" href="../bevy_reflect/type_info/enum.TypeInfo.html" title="enum bevy_reflect::type_info::TypeInfo">TypeInfo</a>&gt;</h4></section></summary><div class='docblock'>Returns the <a href="../bevy_reflect/type_info/enum.TypeInfo.html" title="enum bevy_reflect::type_info::TypeInfo"><code>TypeInfo</code></a> of the type <em>represented</em> by this value. <a href="../bevy_reflect/reflect/trait.PartialReflect.html#tymethod.get_represented_type_info">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_value" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.clone_value" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/reflect/trait.PartialReflect.html#tymethod.clone_value" class="fn">clone_value</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="../bevy_reflect/reflect/trait.PartialReflect.html" title="trait bevy_reflect::reflect::PartialReflect">PartialReflect</a>&gt;</h4></section></summary><div class='docblock'>Clones the value as a <code>Reflect</code> trait object. <a href="../bevy_reflect/reflect/trait.PartialReflect.html#tymethod.clone_value">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.try_apply" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.try_apply" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/reflect/trait.PartialReflect.html#tymethod.try_apply" class="fn">try_apply</a>(&amp;mut self, value: &amp;dyn <a class="trait" href="../bevy_reflect/reflect/trait.PartialReflect.html" title="trait bevy_reflect::reflect::PartialReflect">PartialReflect</a>) -&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;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.unit.html">()</a>, <a class="enum" href="../bevy_reflect/reflect/enum.ApplyError.html" title="enum bevy_reflect::reflect::ApplyError">ApplyError</a>&gt;</h4></section></summary><div class='docblock'>Tries to <a href="../bevy_reflect/reflect/trait.PartialReflect.html#method.apply" title="method bevy_reflect::reflect::PartialReflect::apply"><code>apply</code></a> a reflected value to this value. <a href="../bevy_reflect/reflect/trait.PartialReflect.html#tymethod.try_apply">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.reflect_kind" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.reflect_kind" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/reflect/trait.PartialReflect.html#method.reflect_kind" class="fn">reflect_kind</a>(&amp;self) -&gt; <a class="enum" href="../bevy_reflect/kind/enum.ReflectKind.html" title="enum bevy_reflect::kind::ReflectKind">ReflectKind</a></h4></section></summary><div class='docblock'>Returns a zero-sized enumeration of “kinds” of type. <a href="../bevy_reflect/reflect/trait.PartialReflect.html#method.reflect_kind">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.reflect_ref" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.reflect_ref" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/reflect/trait.PartialReflect.html#tymethod.reflect_ref" class="fn">reflect_ref</a>(&amp;self) -&gt; <a class="enum" href="../bevy_reflect/kind/enum.ReflectRef.html" title="enum bevy_reflect::kind::ReflectRef">ReflectRef</a>&lt;'_&gt;</h4></section></summary><div class='docblock'>Returns an immutable enumeration of “kinds” of type. <a href="../bevy_reflect/reflect/trait.PartialReflect.html#tymethod.reflect_ref">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.reflect_mut" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.reflect_mut" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/reflect/trait.PartialReflect.html#tymethod.reflect_mut" class="fn">reflect_mut</a>(&amp;mut self) -&gt; <a class="enum" href="../bevy_reflect/kind/enum.ReflectMut.html" title="enum bevy_reflect::kind::ReflectMut">ReflectMut</a>&lt;'_&gt;</h4></section></summary><div class='docblock'>Returns a mutable enumeration of “kinds” of type. <a href="../bevy_reflect/reflect/trait.PartialReflect.html#tymethod.reflect_mut">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.reflect_owned" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.reflect_owned" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/reflect/trait.PartialReflect.html#tymethod.reflect_owned" class="fn">reflect_owned</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;Self&gt;) -&gt; <a class="enum" href="../bevy_reflect/kind/enum.ReflectOwned.html" title="enum bevy_reflect::kind::ReflectOwned">ReflectOwned</a></h4></section></summary><div class='docblock'>Returns an owned enumeration of “kinds” of type. <a href="../bevy_reflect/reflect/trait.PartialReflect.html#tymethod.reflect_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.try_into_reflect" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.try_into_reflect" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/reflect/trait.PartialReflect.html#tymethod.try_into_reflect" class="fn">try_into_reflect</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;Self&gt;,
) -&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;<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="../bevy_reflect/reflect/trait.Reflect.html" title="trait bevy_reflect::reflect::Reflect">Reflect</a>&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="../bevy_reflect/reflect/trait.PartialReflect.html" title="trait bevy_reflect::reflect::PartialReflect">PartialReflect</a>&gt;&gt;</h4></section></summary><div class='docblock'>Attempts to cast this type to a boxed, <a href="../bevy_reflect/reflect/trait.Reflect.html" title="trait bevy_reflect::reflect::Reflect">fully-reflected</a> value.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_as_reflect" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.try_as_reflect" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/reflect/trait.PartialReflect.html#tymethod.try_as_reflect" class="fn">try_as_reflect</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="../bevy_reflect/reflect/trait.Reflect.html" title="trait bevy_reflect::reflect::Reflect">Reflect</a>&gt;</h4></section></summary><div class='docblock'>Attempts to cast this type to a <a href="../bevy_reflect/reflect/trait.Reflect.html" title="trait bevy_reflect::reflect::Reflect">fully-reflected</a> value.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_as_reflect_mut" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.try_as_reflect_mut" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/reflect/trait.PartialReflect.html#tymethod.try_as_reflect_mut" class="fn">try_as_reflect_mut</a>(&amp;mut 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;mut dyn <a class="trait" href="../bevy_reflect/reflect/trait.Reflect.html" title="trait bevy_reflect::reflect::Reflect">Reflect</a>&gt;</h4></section></summary><div class='docblock'>Attempts to cast this type to a mutable, <a href="../bevy_reflect/reflect/trait.Reflect.html" title="trait bevy_reflect::reflect::Reflect">fully-reflected</a> value.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_partial_reflect" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.into_partial_reflect" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/reflect/trait.PartialReflect.html#tymethod.into_partial_reflect" class="fn">into_partial_reflect</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;Self&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="../bevy_reflect/reflect/trait.PartialReflect.html" title="trait bevy_reflect::reflect::PartialReflect">PartialReflect</a>&gt;</h4></section></summary><div class='docblock'>Casts this type to a boxed, reflected value. <a href="../bevy_reflect/reflect/trait.PartialReflect.html#tymethod.into_partial_reflect">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_partial_reflect" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.as_partial_reflect" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/reflect/trait.PartialReflect.html#tymethod.as_partial_reflect" class="fn">as_partial_reflect</a>(&amp;self) -&gt; &amp;dyn <a class="trait" href="../bevy_reflect/reflect/trait.PartialReflect.html" title="trait bevy_reflect::reflect::PartialReflect">PartialReflect</a></h4></section></summary><div class='docblock'>Casts this type to a reflected value. <a href="../bevy_reflect/reflect/trait.PartialReflect.html#tymethod.as_partial_reflect">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_partial_reflect_mut" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.as_partial_reflect_mut" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/reflect/trait.PartialReflect.html#tymethod.as_partial_reflect_mut" class="fn">as_partial_reflect_mut</a>(&amp;mut self) -&gt; &amp;mut dyn <a class="trait" href="../bevy_reflect/reflect/trait.PartialReflect.html" title="trait bevy_reflect::reflect::PartialReflect">PartialReflect</a></h4></section></summary><div class='docblock'>Casts this type to a mutable, reflected value. <a href="../bevy_reflect/reflect/trait.PartialReflect.html#tymethod.as_partial_reflect_mut">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.reflect_partial_eq" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.reflect_partial_eq" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/reflect/trait.PartialReflect.html#method.reflect_partial_eq" class="fn">reflect_partial_eq</a>(&amp;self, value: &amp;dyn <a class="trait" href="../bevy_reflect/reflect/trait.PartialReflect.html" title="trait bevy_reflect::reflect::PartialReflect">PartialReflect</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.bool.html">bool</a>&gt;</h4></section></summary><div class='docblock'>Returns a “partial equality” comparison result. <a href="../bevy_reflect/reflect/trait.PartialReflect.html#method.reflect_partial_eq">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.apply" class="method trait-impl"><a class="src rightside" href="../src/bevy_reflect/reflect.rs.html#181">Source</a><a href="#method.apply" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/reflect/trait.PartialReflect.html#method.apply" class="fn">apply</a>(&amp;mut self, value: &amp;(dyn <a class="trait" href="../bevy_reflect/reflect/trait.PartialReflect.html" title="trait bevy_reflect::reflect::PartialReflect">PartialReflect</a> + 'static))</h4></section></summary><div class='docblock'>Applies a reflected value to this value. <a href="../bevy_reflect/reflect/trait.PartialReflect.html#method.apply">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.reflect_hash" class="method trait-impl"><a class="src rightside" href="../src/bevy_reflect/reflect.rs.html#236">Source</a><a href="#method.reflect_hash" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/reflect/trait.PartialReflect.html#method.reflect_hash" class="fn">reflect_hash</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;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u64.html">u64</a>&gt;</h4></section></summary><div class='docblock'>Returns a hash of the value (which includes the type). <a href="../bevy_reflect/reflect/trait.PartialReflect.html#method.reflect_hash">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.debug" class="method trait-impl"><a class="src rightside" href="../src/bevy_reflect/reflect.rs.html#256">Source</a><a href="#method.debug" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/reflect/trait.PartialReflect.html#method.debug" class="fn">debug</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="enum" href="https://doc.rust-lang.org/1.84.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/1.84.0/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Debug formatter for the value. <a href="../bevy_reflect/reflect/trait.PartialReflect.html#method.debug">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.serializable" class="method trait-impl"><a class="src rightside" href="../src/bevy_reflect/reflect.rs.html#275">Source</a><a href="#method.serializable" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/reflect/trait.PartialReflect.html#method.serializable" class="fn">serializable</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;<a class="enum" href="../bevy_reflect/serde/ser/serializable/enum.Serializable.html" title="enum bevy_reflect::serde::ser::serializable::Serializable">Serializable</a>&lt;'_&gt;&gt;</h4></section></summary><div class='docblock'>Returns a serializable version of the value. <a href="../bevy_reflect/reflect/trait.PartialReflect.html#method.serializable">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_dynamic" class="method trait-impl"><a class="src rightside" href="../src/bevy_reflect/reflect.rs.html#291">Source</a><a href="#method.is_dynamic" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/reflect/trait.PartialReflect.html#method.is_dynamic" class="fn">is_dynamic</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'>Indicates whether or not this type is a <em>dynamic</em> type. <a href="../bevy_reflect/reflect/trait.PartialReflect.html#method.is_dynamic">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Reflect-for-Mesh" class="impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#impl-Reflect-for-Mesh" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../bevy_reflect/reflect/trait.Reflect.html" title="trait bevy_reflect::reflect::Reflect">Reflect</a> for <a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a><div class="where">where
<a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a>: <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>,
<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="enum" href="enum.Indices.html" title="enum bevy_mesh::Indices">Indices</a>&gt;: <a class="trait" href="../bevy_reflect/from_reflect/trait.FromReflect.html" title="trait bevy_reflect::from_reflect::FromReflect">FromReflect</a> + <a class="trait" href="../bevy_reflect/type_path/trait.TypePath.html" title="trait bevy_reflect::type_path::TypePath">TypePath</a> + MaybeTyped + RegisterForReflection,
<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="enum" href="../bevy_asset/handle/enum.Handle.html" title="enum bevy_asset::handle::Handle">Handle</a>&lt;<a class="struct" href="../bevy_image/image/struct.Image.html" title="struct bevy_image::image::Image">Image</a>&gt;&gt;: <a class="trait" href="../bevy_reflect/from_reflect/trait.FromReflect.html" title="trait bevy_reflect::from_reflect::FromReflect">FromReflect</a> + <a class="trait" href="../bevy_reflect/type_path/trait.TypePath.html" title="trait bevy_reflect::type_path::TypePath">TypePath</a> + MaybeTyped + RegisterForReflection,
<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="struct" href="https://doc.rust-lang.org/1.84.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;&gt;: <a class="trait" href="../bevy_reflect/from_reflect/trait.FromReflect.html" title="trait bevy_reflect::from_reflect::FromReflect">FromReflect</a> + <a class="trait" href="../bevy_reflect/type_path/trait.TypePath.html" title="trait bevy_reflect::type_path::TypePath">TypePath</a> + MaybeTyped + RegisterForReflection,
<a class="struct" href="../bevy_asset/render_asset/struct.RenderAssetUsages.html" title="struct bevy_asset::render_asset::RenderAssetUsages">RenderAssetUsages</a>: <a class="trait" href="../bevy_reflect/from_reflect/trait.FromReflect.html" title="trait bevy_reflect::from_reflect::FromReflect">FromReflect</a> + <a class="trait" href="../bevy_reflect/type_path/trait.TypePath.html" title="trait bevy_reflect::type_path::TypePath">TypePath</a> + MaybeTyped + RegisterForReflection,</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/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.into_any" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/reflect/trait.Reflect.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;Self&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'>Returns the value as a <a href="https://doc.rust-lang.org/1.84.0/core/any/trait.Any.html" title="trait core::any::Any"><code>Box&lt;dyn Any&gt;</code></a>. <a href="../bevy_reflect/reflect/trait.Reflect.html#tymethod.into_any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_any" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.as_any" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/reflect/trait.Reflect.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></h4></section></summary><div class='docblock'>Returns the value as a <a href="https://doc.rust-lang.org/1.84.0/core/any/trait.Any.html" title="trait core::any::Any"><code>&amp;dyn Any</code></a>. <a href="../bevy_reflect/reflect/trait.Reflect.html#tymethod.as_any">Read more</a></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/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.as_any_mut" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/reflect/trait.Reflect.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></h4></section></summary><div class='docblock'>Returns the value as a <a href="https://doc.rust-lang.org/1.84.0/core/any/trait.Any.html" title="trait core::any::Any"><code>&amp;mut dyn Any</code></a>. <a href="../bevy_reflect/reflect/trait.Reflect.html#tymethod.as_any_mut">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_reflect" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.into_reflect" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/reflect/trait.Reflect.html#tymethod.into_reflect" class="fn">into_reflect</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;Self&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="../bevy_reflect/reflect/trait.Reflect.html" title="trait bevy_reflect::reflect::Reflect">Reflect</a>&gt;</h4></section></summary><div class='docblock'>Casts this type to a boxed, fully-reflected value.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_reflect" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.as_reflect" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/reflect/trait.Reflect.html#tymethod.as_reflect" class="fn">as_reflect</a>(&amp;self) -&gt; &amp;dyn <a class="trait" href="../bevy_reflect/reflect/trait.Reflect.html" title="trait bevy_reflect::reflect::Reflect">Reflect</a></h4></section></summary><div class='docblock'>Casts this type to a fully-reflected value.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_reflect_mut" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.as_reflect_mut" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/reflect/trait.Reflect.html#tymethod.as_reflect_mut" class="fn">as_reflect_mut</a>(&amp;mut self) -&gt; &amp;mut dyn <a class="trait" href="../bevy_reflect/reflect/trait.Reflect.html" title="trait bevy_reflect::reflect::Reflect">Reflect</a></h4></section></summary><div class='docblock'>Casts this type to a mutable, fully-reflected value.</div></details><details class="toggle method-toggle" open><summary><section id="method.set" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.set" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/reflect/trait.Reflect.html#tymethod.set" class="fn">set</a>(&amp;mut self, value: <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="../bevy_reflect/reflect/trait.Reflect.html" title="trait bevy_reflect::reflect::Reflect">Reflect</a>&gt;) -&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;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.unit.html">()</a>, <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="../bevy_reflect/reflect/trait.Reflect.html" title="trait bevy_reflect::reflect::Reflect">Reflect</a>&gt;&gt;</h4></section></summary><div class='docblock'>Performs a type-checked assignment of a reflected value to this value. <a href="../bevy_reflect/reflect/trait.Reflect.html#tymethod.set">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Struct-for-Mesh" class="impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#impl-Struct-for-Mesh" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../bevy_reflect/struct_trait/trait.Struct.html" title="trait bevy_reflect::struct_trait::Struct">Struct</a> for <a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a><div class="where">where
<a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a>: <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>,
<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="enum" href="enum.Indices.html" title="enum bevy_mesh::Indices">Indices</a>&gt;: <a class="trait" href="../bevy_reflect/from_reflect/trait.FromReflect.html" title="trait bevy_reflect::from_reflect::FromReflect">FromReflect</a> + <a class="trait" href="../bevy_reflect/type_path/trait.TypePath.html" title="trait bevy_reflect::type_path::TypePath">TypePath</a> + MaybeTyped + RegisterForReflection,
<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="enum" href="../bevy_asset/handle/enum.Handle.html" title="enum bevy_asset::handle::Handle">Handle</a>&lt;<a class="struct" href="../bevy_image/image/struct.Image.html" title="struct bevy_image::image::Image">Image</a>&gt;&gt;: <a class="trait" href="../bevy_reflect/from_reflect/trait.FromReflect.html" title="trait bevy_reflect::from_reflect::FromReflect">FromReflect</a> + <a class="trait" href="../bevy_reflect/type_path/trait.TypePath.html" title="trait bevy_reflect::type_path::TypePath">TypePath</a> + MaybeTyped + RegisterForReflection,
<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="struct" href="https://doc.rust-lang.org/1.84.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;&gt;: <a class="trait" href="../bevy_reflect/from_reflect/trait.FromReflect.html" title="trait bevy_reflect::from_reflect::FromReflect">FromReflect</a> + <a class="trait" href="../bevy_reflect/type_path/trait.TypePath.html" title="trait bevy_reflect::type_path::TypePath">TypePath</a> + MaybeTyped + RegisterForReflection,
<a class="struct" href="../bevy_asset/render_asset/struct.RenderAssetUsages.html" title="struct bevy_asset::render_asset::RenderAssetUsages">RenderAssetUsages</a>: <a class="trait" href="../bevy_reflect/from_reflect/trait.FromReflect.html" title="trait bevy_reflect::from_reflect::FromReflect">FromReflect</a> + <a class="trait" href="../bevy_reflect/type_path/trait.TypePath.html" title="trait bevy_reflect::type_path::TypePath">TypePath</a> + MaybeTyped + RegisterForReflection,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.field" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.field" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/struct_trait/trait.Struct.html#tymethod.field" class="fn">field</a>(&amp;self, name: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.str.html">str</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;&amp;dyn <a class="trait" href="../bevy_reflect/reflect/trait.PartialReflect.html" title="trait bevy_reflect::reflect::PartialReflect">PartialReflect</a>&gt;</h4></section></summary><div class='docblock'>Returns a reference to the value of the field named <code>name</code> as a <code>&amp;dyn PartialReflect</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.field_mut" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.field_mut" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/struct_trait/trait.Struct.html#tymethod.field_mut" class="fn">field_mut</a>(&amp;mut self, name: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.str.html">str</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;&amp;mut dyn <a class="trait" href="../bevy_reflect/reflect/trait.PartialReflect.html" title="trait bevy_reflect::reflect::PartialReflect">PartialReflect</a>&gt;</h4></section></summary><div class='docblock'>Returns a mutable reference to the value of the field named <code>name</code> as a
<code>&amp;mut dyn PartialReflect</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.field_at" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.field_at" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/struct_trait/trait.Struct.html#tymethod.field_at" class="fn">field_at</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.usize.html">usize</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;&amp;dyn <a class="trait" href="../bevy_reflect/reflect/trait.PartialReflect.html" title="trait bevy_reflect::reflect::PartialReflect">PartialReflect</a>&gt;</h4></section></summary><div class='docblock'>Returns a reference to the value of the field with index <code>index</code> as a
<code>&amp;dyn PartialReflect</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.field_at_mut" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.field_at_mut" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/struct_trait/trait.Struct.html#tymethod.field_at_mut" class="fn">field_at_mut</a>(&amp;mut self, index: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.usize.html">usize</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;&amp;mut dyn <a class="trait" href="../bevy_reflect/reflect/trait.PartialReflect.html" title="trait bevy_reflect::reflect::PartialReflect">PartialReflect</a>&gt;</h4></section></summary><div class='docblock'>Returns a mutable reference to the value of the field with index <code>index</code>
as a <code>&amp;mut dyn PartialReflect</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.name_at" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.name_at" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/struct_trait/trait.Struct.html#tymethod.name_at" class="fn">name_at</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.usize.html">usize</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;&amp;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.str.html">str</a>&gt;</h4></section></summary><div class='docblock'>Returns the name of the field with index <code>index</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.field_len" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.field_len" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/struct_trait/trait.Struct.html#tymethod.field_len" class="fn">field_len</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'>Returns the number of fields in the struct.</div></details><details class="toggle method-toggle" open><summary><section id="method.iter_fields" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.iter_fields" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/struct_trait/trait.Struct.html#tymethod.iter_fields" class="fn">iter_fields</a>(&amp;self) -&gt; <a class="struct" href="../bevy_reflect/struct_trait/struct.FieldIter.html" title="struct bevy_reflect::struct_trait::FieldIter">FieldIter</a>&lt;'_&gt;</h4></section></summary><div class='docblock'>Returns an iterator over the values of the reflectable fields for this struct.</div></details><details class="toggle method-toggle" open><summary><section id="method.clone_dynamic" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.clone_dynamic" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/struct_trait/trait.Struct.html#tymethod.clone_dynamic" class="fn">clone_dynamic</a>(&amp;self) -&gt; <a class="struct" href="../bevy_reflect/struct_trait/struct.DynamicStruct.html" title="struct bevy_reflect::struct_trait::DynamicStruct">DynamicStruct</a></h4></section></summary><div class='docblock'>Clones the struct into a <a href="../bevy_reflect/struct_trait/struct.DynamicStruct.html" title="struct bevy_reflect::struct_trait::DynamicStruct"><code>DynamicStruct</code></a>.</div></details><details class="toggle method-toggle" open><summary><section id="method.get_represented_struct_info" class="method trait-impl"><a class="src rightside" href="../src/bevy_reflect/struct_trait.rs.html#78">Source</a><a href="#method.get_represented_struct_info" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/struct_trait/trait.Struct.html#method.get_represented_struct_info" class="fn">get_represented_struct_info</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;'static <a class="struct" href="../bevy_reflect/struct_trait/struct.StructInfo.html" title="struct bevy_reflect::struct_trait::StructInfo">StructInfo</a>&gt;</h4></section></summary><div class='docblock'>Will return <code>None</code> if <a href="../bevy_reflect/type_info/enum.TypeInfo.html" title="enum bevy_reflect::type_info::TypeInfo"><code>TypeInfo</code></a> is not available.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-TypePath-for-Mesh" class="impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#impl-TypePath-for-Mesh" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../bevy_reflect/type_path/trait.TypePath.html" title="trait bevy_reflect::type_path::TypePath">TypePath</a> for <a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a><div class="where">where
<a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a>: <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.type_path" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.type_path" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/type_path/trait.TypePath.html#tymethod.type_path" class="fn">type_path</a>() -&gt; &amp;'static <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.str.html">str</a></h4></section></summary><div class='docblock'>Returns the fully qualified path of the underlying type. <a href="../bevy_reflect/type_path/trait.TypePath.html#tymethod.type_path">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.short_type_path" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.short_type_path" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/type_path/trait.TypePath.html#tymethod.short_type_path" class="fn">short_type_path</a>() -&gt; &amp;'static <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.str.html">str</a></h4></section></summary><div class='docblock'>Returns a short, pretty-print enabled path to the type. <a href="../bevy_reflect/type_path/trait.TypePath.html#tymethod.short_type_path">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.type_ident" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.type_ident" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/type_path/trait.TypePath.html#method.type_ident" class="fn">type_ident</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;&amp;'static <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.str.html">str</a>&gt;</h4></section></summary><div class='docblock'>Returns the name of the type, or <a href="https://doc.rust-lang.org/1.84.0/core/option/enum.Option.html#variant.None" title="variant core::option::Option::None"><code>None</code></a> if it is <a href="../bevy_reflect/type_path/trait.TypePath.html#anonymity" title="trait bevy_reflect::type_path::TypePath">anonymous</a>. <a href="../bevy_reflect/type_path/trait.TypePath.html#method.type_ident">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.crate_name" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.crate_name" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/type_path/trait.TypePath.html#method.crate_name" class="fn">crate_name</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;&amp;'static <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.str.html">str</a>&gt;</h4></section></summary><div class='docblock'>Returns the name of the crate the type is in, or <a href="https://doc.rust-lang.org/1.84.0/core/option/enum.Option.html#variant.None" title="variant core::option::Option::None"><code>None</code></a> if it is <a href="../bevy_reflect/type_path/trait.TypePath.html#anonymity" title="trait bevy_reflect::type_path::TypePath">anonymous</a>. <a href="../bevy_reflect/type_path/trait.TypePath.html#method.crate_name">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.module_path" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.module_path" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/type_path/trait.TypePath.html#method.module_path" class="fn">module_path</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;&amp;'static <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.str.html">str</a>&gt;</h4></section></summary><div class='docblock'>Returns the path to the module the type is in, or <a href="https://doc.rust-lang.org/1.84.0/core/option/enum.Option.html#variant.None" title="variant core::option::Option::None"><code>None</code></a> if it is <a href="../bevy_reflect/type_path/trait.TypePath.html#anonymity" title="trait bevy_reflect::type_path::TypePath">anonymous</a>. <a href="../bevy_reflect/type_path/trait.TypePath.html#method.module_path">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Typed-for-Mesh" class="impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#impl-Typed-for-Mesh" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../bevy_reflect/type_info/trait.Typed.html" title="trait bevy_reflect::type_info::Typed">Typed</a> for <a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a><div class="where">where
<a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a>: <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>,
<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="enum" href="enum.Indices.html" title="enum bevy_mesh::Indices">Indices</a>&gt;: <a class="trait" href="../bevy_reflect/from_reflect/trait.FromReflect.html" title="trait bevy_reflect::from_reflect::FromReflect">FromReflect</a> + <a class="trait" href="../bevy_reflect/type_path/trait.TypePath.html" title="trait bevy_reflect::type_path::TypePath">TypePath</a> + MaybeTyped + RegisterForReflection,
<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="enum" href="../bevy_asset/handle/enum.Handle.html" title="enum bevy_asset::handle::Handle">Handle</a>&lt;<a class="struct" href="../bevy_image/image/struct.Image.html" title="struct bevy_image::image::Image">Image</a>&gt;&gt;: <a class="trait" href="../bevy_reflect/from_reflect/trait.FromReflect.html" title="trait bevy_reflect::from_reflect::FromReflect">FromReflect</a> + <a class="trait" href="../bevy_reflect/type_path/trait.TypePath.html" title="trait bevy_reflect::type_path::TypePath">TypePath</a> + MaybeTyped + RegisterForReflection,
<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="struct" href="https://doc.rust-lang.org/1.84.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;&gt;: <a class="trait" href="../bevy_reflect/from_reflect/trait.FromReflect.html" title="trait bevy_reflect::from_reflect::FromReflect">FromReflect</a> + <a class="trait" href="../bevy_reflect/type_path/trait.TypePath.html" title="trait bevy_reflect::type_path::TypePath">TypePath</a> + MaybeTyped + RegisterForReflection,
<a class="struct" href="../bevy_asset/render_asset/struct.RenderAssetUsages.html" title="struct bevy_asset::render_asset::RenderAssetUsages">RenderAssetUsages</a>: <a class="trait" href="../bevy_reflect/from_reflect/trait.FromReflect.html" title="trait bevy_reflect::from_reflect::FromReflect">FromReflect</a> + <a class="trait" href="../bevy_reflect/type_path/trait.TypePath.html" title="trait bevy_reflect::type_path::TypePath">TypePath</a> + MaybeTyped + RegisterForReflection,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_info" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.type_info" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/type_info/trait.Typed.html#tymethod.type_info" class="fn">type_info</a>() -&gt; &amp;'static <a class="enum" href="../bevy_reflect/type_info/enum.TypeInfo.html" title="enum bevy_reflect::type_info::TypeInfo">TypeInfo</a></h4></section></summary><div class='docblock'>Returns the compile-time <a href="../bevy_reflect/type_info/enum.TypeInfo.html" title="enum bevy_reflect::type_info::TypeInfo">info</a> for the underlying type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-VisitAssetDependencies-for-Mesh" class="impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#impl-VisitAssetDependencies-for-Mesh" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../bevy_asset/trait.VisitAssetDependencies.html" title="trait bevy_asset::VisitAssetDependencies">VisitAssetDependencies</a> for <a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a></h3></section></summary><div class="impl-items"><section id="method.visit_dependencies" class="method trait-impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#method.visit_dependencies" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_asset/trait.VisitAssetDependencies.html#tymethod.visit_dependencies" class="fn">visit_dependencies</a>(&amp;self, visit: &amp;mut 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="../bevy_asset/id/enum.UntypedAssetId.html" title="enum bevy_asset::id::UntypedAssetId">UntypedAssetId</a>))</h4></section></div></details><section id="impl-Asset-for-Mesh" class="impl"><a class="src rightside" href="../src/bevy_mesh/mesh.rs.html#106">Source</a><a href="#impl-Asset-for-Mesh" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../bevy_asset/trait.Asset.html" title="trait bevy_asset::Asset">Asset</a> for <a class="struct" href="struct.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a></h3></section></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-Mesh" class="impl"><a href="#impl-Freeze-for-Mesh" 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.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a></h3></section><section id="impl-RefUnwindSafe-for-Mesh" class="impl"><a href="#impl-RefUnwindSafe-for-Mesh" 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.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a></h3></section><section id="impl-Send-for-Mesh" class="impl"><a href="#impl-Send-for-Mesh" 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.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a></h3></section><section id="impl-Sync-for-Mesh" class="impl"><a href="#impl-Sync-for-Mesh" 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.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a></h3></section><section id="impl-Unpin-for-Mesh" class="impl"><a href="#impl-Unpin-for-Mesh" 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.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</a></h3></section><section id="impl-UnwindSafe-for-Mesh" class="impl"><a href="#impl-UnwindSafe-for-Mesh" 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.Mesh.html" title="struct bevy_mesh::Mesh">Mesh</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-AssetContainer-for-A" class="impl"><a class="src rightside" href="../src/bevy_asset/loader.rs.html#283">Source</a><a href="#impl-AssetContainer-for-A" class="anchor">§</a><h3 class="code-header">impl&lt;A&gt; <a class="trait" href="../bevy_asset/loader/trait.AssetContainer.html" title="trait bevy_asset::loader::AssetContainer">AssetContainer</a> for A<div class="where">where
A: <a class="trait" href="../bevy_asset/trait.Asset.html" title="trait bevy_asset::Asset">Asset</a>,</div></h3></section></summary><div class="impl-items"><section id="method.insert" class="method trait-impl"><a class="src rightside" href="../src/bevy_asset/loader.rs.html#284">Source</a><a href="#method.insert" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_asset/loader/trait.AssetContainer.html#tymethod.insert" class="fn">insert</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;A&gt;, id: <a class="enum" href="../bevy_asset/id/enum.UntypedAssetId.html" title="enum bevy_asset::id::UntypedAssetId">UntypedAssetId</a>, world: &amp;mut <a class="struct" href="../bevy_ecs/world/struct.World.html" title="struct bevy_ecs::world::World">World</a>)</h4></section><section id="method.asset_type_name" class="method trait-impl"><a class="src rightside" href="../src/bevy_asset/loader.rs.html#288">Source</a><a href="#method.asset_type_name" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_asset/loader/trait.AssetContainer.html#tymethod.asset_type_name" class="fn">asset_type_name</a>(&amp;self) -&gt; &amp;'static <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.str.html">str</a></h4></section></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%3CT%3E-for-T" class="impl"><a class="src rightside" href="../src/khronos_egl/lib.rs.html#148">Source</a><a href="#impl-Downcast%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../khronos_egl/trait.Downcast.html" title="trait khronos_egl::Downcast">Downcast</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><section id="method.downcast" class="method trait-impl"><a class="src rightside" href="../src/khronos_egl/lib.rs.html#149">Source</a><a href="#method.downcast" class="anchor">§</a><h4 class="code-header">fn <a href="../khronos_egl/trait.Downcast.html#tymethod.downcast" class="fn">downcast</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></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-1" class="method trait-impl"><a class="src rightside" href="../src/downcast_rs/lib.rs.html#190">Source</a><a href="#method.into_any-1" 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-1" class="method trait-impl"><a class="src rightside" href="../src/downcast_rs/lib.rs.html#192">Source</a><a href="#method.as_any-1" 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-1" class="method trait-impl"><a class="src rightside" href="../src/downcast_rs/lib.rs.html#193">Source</a><a href="#method.as_any_mut-1" 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-DynamicTypePath-for-T" class="impl"><a class="src rightside" href="../src/bevy_reflect/type_path.rs.html#157">Source</a><a href="#impl-DynamicTypePath-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../bevy_reflect/type_path/trait.DynamicTypePath.html" title="trait bevy_reflect::type_path::DynamicTypePath">DynamicTypePath</a> for T<div class="where">where
T: <a class="trait" href="../bevy_reflect/type_path/trait.TypePath.html" title="trait bevy_reflect::type_path::TypePath">TypePath</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.reflect_type_path" class="method trait-impl"><a class="src rightside" href="../src/bevy_reflect/type_path.rs.html#159">Source</a><a href="#method.reflect_type_path" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/type_path/trait.DynamicTypePath.html#tymethod.reflect_type_path" class="fn">reflect_type_path</a>(&amp;self) -&gt; &amp;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.str.html">str</a></h4></section></summary><div class='docblock'>See <a href="../bevy_reflect/type_path/trait.TypePath.html#tymethod.type_path" title="associated function bevy_reflect::type_path::TypePath::type_path"><code>TypePath::type_path</code></a>.</div></details><details class="toggle method-toggle" open><summary><section id="method.reflect_short_type_path" class="method trait-impl"><a class="src rightside" href="../src/bevy_reflect/type_path.rs.html#164">Source</a><a href="#method.reflect_short_type_path" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/type_path/trait.DynamicTypePath.html#tymethod.reflect_short_type_path" class="fn">reflect_short_type_path</a>(&amp;self) -&gt; &amp;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.str.html">str</a></h4></section></summary><div class='docblock'>See <a href="../bevy_reflect/type_path/trait.TypePath.html#tymethod.short_type_path" title="associated function bevy_reflect::type_path::TypePath::short_type_path"><code>TypePath::short_type_path</code></a>.</div></details><details class="toggle method-toggle" open><summary><section id="method.reflect_type_ident" class="method trait-impl"><a class="src rightside" href="../src/bevy_reflect/type_path.rs.html#169">Source</a><a href="#method.reflect_type_ident" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/type_path/trait.DynamicTypePath.html#tymethod.reflect_type_ident" class="fn">reflect_type_ident</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;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.str.html">str</a>&gt;</h4></section></summary><div class='docblock'>See <a href="../bevy_reflect/type_path/trait.TypePath.html#method.type_ident" title="associated function bevy_reflect::type_path::TypePath::type_ident"><code>TypePath::type_ident</code></a>.</div></details><details class="toggle method-toggle" open><summary><section id="method.reflect_crate_name" class="method trait-impl"><a class="src rightside" href="../src/bevy_reflect/type_path.rs.html#174">Source</a><a href="#method.reflect_crate_name" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/type_path/trait.DynamicTypePath.html#tymethod.reflect_crate_name" class="fn">reflect_crate_name</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;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.str.html">str</a>&gt;</h4></section></summary><div class='docblock'>See <a href="../bevy_reflect/type_path/trait.TypePath.html#method.crate_name" title="associated function bevy_reflect::type_path::TypePath::crate_name"><code>TypePath::crate_name</code></a>.</div></details><details class="toggle method-toggle" open><summary><section id="method.reflect_module_path" class="method trait-impl"><a class="src rightside" href="../src/bevy_reflect/type_path.rs.html#179">Source</a><a href="#method.reflect_module_path" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/type_path/trait.DynamicTypePath.html#tymethod.reflect_module_path" class="fn">reflect_module_path</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;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.str.html">str</a>&gt;</h4></section></summary><div class='docblock'>See <a href="../bevy_reflect/type_path/trait.TypePath.html#method.module_path" title="associated function bevy_reflect::type_path::TypePath::module_path"><code>TypePath::module_path</code></a>.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DynamicTyped-for-T" class="impl"><a class="src rightside" href="../src/bevy_reflect/type_info.rs.html#158">Source</a><a href="#impl-DynamicTyped-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../bevy_reflect/type_info/trait.DynamicTyped.html" title="trait bevy_reflect::type_info::DynamicTyped">DynamicTyped</a> for T<div class="where">where
T: <a class="trait" href="../bevy_reflect/type_info/trait.Typed.html" title="trait bevy_reflect::type_info::Typed">Typed</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.reflect_type_info" class="method trait-impl"><a class="src rightside" href="../src/bevy_reflect/type_info.rs.html#160">Source</a><a href="#method.reflect_type_info" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/type_info/trait.DynamicTyped.html#tymethod.reflect_type_info" class="fn">reflect_type_info</a>(&amp;self) -&gt; &amp;'static <a class="enum" href="../bevy_reflect/type_info/enum.TypeInfo.html" title="enum bevy_reflect::type_info::TypeInfo">TypeInfo</a></h4></section></summary><div class='docblock'>See <a href="../bevy_reflect/type_info/trait.Typed.html#tymethod.type_info" title="associated function bevy_reflect::type_info::Typed::type_info"><code>Typed::type_info</code></a>.</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-23" 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-23" 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-GetField-for-S" class="impl"><a class="src rightside" href="../src/bevy_reflect/struct_trait.rs.html#244">Source</a><a href="#impl-GetField-for-S" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; <a class="trait" href="../bevy_reflect/struct_trait/trait.GetField.html" title="trait bevy_reflect::struct_trait::GetField">GetField</a> for S<div class="where">where
S: <a class="trait" href="../bevy_reflect/struct_trait/trait.Struct.html" title="trait bevy_reflect::struct_trait::Struct">Struct</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.get_field" class="method trait-impl"><a class="src rightside" href="../src/bevy_reflect/struct_trait.rs.html#245">Source</a><a href="#method.get_field" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/struct_trait/trait.GetField.html#tymethod.get_field" class="fn">get_field</a>&lt;T&gt;(&amp;self, name: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.str.html">str</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.reference.html">&amp;T</a>&gt;<div class="where">where
T: <a class="trait" href="../bevy_reflect/reflect/trait.Reflect.html" title="trait bevy_reflect::reflect::Reflect">Reflect</a>,</div></h4></section></summary><div class='docblock'>Returns a reference to the value of the field named <code>name</code>, downcast to
<code>T</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.get_field_mut" class="method trait-impl"><a class="src rightside" href="../src/bevy_reflect/struct_trait.rs.html#250">Source</a><a href="#method.get_field_mut" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/struct_trait/trait.GetField.html#tymethod.get_field_mut" class="fn">get_field_mut</a>&lt;T&gt;(&amp;mut self, name: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.str.html">str</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.reference.html">&amp;mut T</a>&gt;<div class="where">where
T: <a class="trait" href="../bevy_reflect/reflect/trait.Reflect.html" title="trait bevy_reflect::reflect::Reflect">Reflect</a>,</div></h4></section></summary><div class='docblock'>Returns a mutable reference to the value of the field named <code>name</code>,
downcast to <code>T</code>.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-GetPath-for-T" class="impl"><a class="src rightside" href="../src/bevy_reflect/path/mod.rs.html#283">Source</a><a href="#impl-GetPath-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../bevy_reflect/path/trait.GetPath.html" title="trait bevy_reflect::path::GetPath">GetPath</a> for T<div class="where">where
T: <a class="trait" href="../bevy_reflect/reflect/trait.Reflect.html" title="trait bevy_reflect::reflect::Reflect">Reflect</a> + ?<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.reflect_path" class="method trait-impl"><a class="src rightside" href="../src/bevy_reflect/path/mod.rs.html#244">Source</a><a href="#method.reflect_path" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/path/trait.GetPath.html#method.reflect_path" class="fn">reflect_path</a>&lt;'p&gt;(
&amp;self,
path: impl <a class="trait" href="../bevy_reflect/path/trait.ReflectPath.html" title="trait bevy_reflect::path::ReflectPath">ReflectPath</a>&lt;'p&gt;,
) -&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;&amp;(dyn <a class="trait" href="../bevy_reflect/reflect/trait.PartialReflect.html" title="trait bevy_reflect::reflect::PartialReflect">PartialReflect</a> + 'static), <a class="enum" href="../bevy_reflect/path/enum.ReflectPathError.html" title="enum bevy_reflect::path::ReflectPathError">ReflectPathError</a>&lt;'p&gt;&gt;</h4></section></summary><div class='docblock'>Returns a reference to the value specified by <code>path</code>. <a href="../bevy_reflect/path/trait.GetPath.html#method.reflect_path">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.reflect_path_mut" class="method trait-impl"><a class="src rightside" href="../src/bevy_reflect/path/mod.rs.html#252-255">Source</a><a href="#method.reflect_path_mut" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/path/trait.GetPath.html#method.reflect_path_mut" class="fn">reflect_path_mut</a>&lt;'p&gt;(
&amp;mut self,
path: impl <a class="trait" href="../bevy_reflect/path/trait.ReflectPath.html" title="trait bevy_reflect::path::ReflectPath">ReflectPath</a>&lt;'p&gt;,
) -&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;&amp;mut (dyn <a class="trait" href="../bevy_reflect/reflect/trait.PartialReflect.html" title="trait bevy_reflect::reflect::PartialReflect">PartialReflect</a> + 'static), <a class="enum" href="../bevy_reflect/path/enum.ReflectPathError.html" title="enum bevy_reflect::path::ReflectPathError">ReflectPathError</a>&lt;'p&gt;&gt;</h4></section></summary><div class='docblock'>Returns a mutable reference to the value specified by <code>path</code>. <a href="../bevy_reflect/path/trait.GetPath.html#method.reflect_path_mut">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.path" class="method trait-impl"><a class="src rightside" href="../src/bevy_reflect/path/mod.rs.html#266">Source</a><a href="#method.path" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/path/trait.GetPath.html#method.path" class="fn">path</a>&lt;'p, T&gt;(
&amp;self,
path: impl <a class="trait" href="../bevy_reflect/path/trait.ReflectPath.html" title="trait bevy_reflect::path::ReflectPath">ReflectPath</a>&lt;'p&gt;,
) -&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;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.reference.html">&amp;T</a>, <a class="enum" href="../bevy_reflect/path/enum.ReflectPathError.html" title="enum bevy_reflect::path::ReflectPathError">ReflectPathError</a>&lt;'p&gt;&gt;<div class="where">where
T: <a class="trait" href="../bevy_reflect/reflect/trait.Reflect.html" title="trait bevy_reflect::reflect::Reflect">Reflect</a>,</div></h4></section></summary><div class='docblock'>Returns a statically typed reference to the value specified by <code>path</code>. <a href="../bevy_reflect/path/trait.GetPath.html#method.path">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.path_mut" class="method trait-impl"><a class="src rightside" href="../src/bevy_reflect/path/mod.rs.html#277">Source</a><a href="#method.path_mut" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/path/trait.GetPath.html#method.path_mut" class="fn">path_mut</a>&lt;'p, T&gt;(
&amp;mut self,
path: impl <a class="trait" href="../bevy_reflect/path/trait.ReflectPath.html" title="trait bevy_reflect::path::ReflectPath">ReflectPath</a>&lt;'p&gt;,
) -&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;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.reference.html">&amp;mut T</a>, <a class="enum" href="../bevy_reflect/path/enum.ReflectPathError.html" title="enum bevy_reflect::path::ReflectPathError">ReflectPathError</a>&lt;'p&gt;&gt;<div class="where">where
T: <a class="trait" href="../bevy_reflect/reflect/trait.Reflect.html" title="trait bevy_reflect::reflect::Reflect">Reflect</a>,</div></h4></section></summary><div class='docblock'>Returns a statically typed mutable reference to the value specified by <code>path</code>. <a href="../bevy_reflect/path/trait.GetPath.html#method.path_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Instrument-for-T" class="impl"><a class="src rightside" href="../src/tracing/instrument.rs.html#325">Source</a><a href="#impl-Instrument-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.instrument" class="method trait-impl"><a class="src rightside" href="../src/tracing/instrument.rs.html#86">Source</a><a href="#method.instrument" class="anchor">§</a><h4 class="code-header">fn <a href="../tracing/instrument/trait.Instrument.html#method.instrument" class="fn">instrument</a>(self, span: <a class="struct" href="../tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -&gt; <a class="struct" href="../tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the provided <a href="../tracing/span/struct.Span.html" title="struct tracing::span::Span"><code>Span</code></a>, returning an
<code>Instrumented</code> wrapper. <a href="../tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.in_current_span" class="method trait-impl"><a class="src rightside" href="../src/tracing/instrument.rs.html#128">Source</a><a href="#method.in_current_span" class="anchor">§</a><h4 class="code-header">fn <a href="../tracing/instrument/trait.Instrument.html#method.in_current_span" class="fn">in_current_span</a>(self) -&gt; <a class="struct" href="../tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the <a href="../tracing/span/struct.Span.html#method.current" title="associated function tracing::span::Span::current">current</a> <a href="../tracing/span/struct.Span.html" title="struct tracing::span::Span"><code>Span</code></a>, returning an
<code>Instrumented</code> wrapper. <a href="../tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></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-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><details class="toggle implementors-toggle"><summary><section id="impl-TypeData-for-T" class="impl"><a class="src rightside" href="../src/bevy_reflect/type_registry.rs.html#650-652">Source</a><a href="#impl-TypeData-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../bevy_reflect/type_registry/trait.TypeData.html" title="trait bevy_reflect::type_registry::TypeData">TypeData</a> for T<div class="where">where
T: 'static + <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> + <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"><section id="method.clone_type_data" class="method trait-impl"><a class="src rightside" href="../src/bevy_reflect/type_registry.rs.html#654">Source</a><a href="#method.clone_type_data" class="anchor">§</a><h4 class="code-header">fn <a href="../bevy_reflect/type_registry/trait.TypeData.html#tymethod.clone_type_data" class="fn">clone_type_data</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="../bevy_reflect/type_registry/trait.TypeData.html" title="trait bevy_reflect::type_registry::TypeData">TypeData</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Upcast%3CT%3E-for-T" class="impl"><a class="src rightside" href="../src/khronos_egl/lib.rs.html#158">Source</a><a href="#impl-Upcast%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../khronos_egl/trait.Upcast.html" title="trait khronos_egl::Upcast">Upcast</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><section id="method.upcast" class="method trait-impl"><a class="src rightside" href="../src/khronos_egl/lib.rs.html#159">Source</a><a href="#method.upcast" class="anchor">§</a><h4 class="code-header">fn <a href="../khronos_egl/trait.Upcast.html#tymethod.upcast" class="fn">upcast</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;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.reference.html">&amp;T</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-VZip%3CV%3E-for-T" class="impl"><a class="src rightside" href="../src/ppv_lite86/types.rs.html#221-223">Source</a><a href="#impl-VZip%3CV%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;V, T&gt; <a class="trait" href="../ppv_lite86/types/trait.VZip.html" title="trait ppv_lite86::types::VZip">VZip</a>&lt;V&gt; for T<div class="where">where
V: <a class="trait" href="../ppv_lite86/types/trait.MultiLane.html" title="trait ppv_lite86::types::MultiLane">MultiLane</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a class="src rightside" href="../src/ppv_lite86/types.rs.html#226">Source</a><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a href="../ppv_lite86/types/trait.VZip.html#tymethod.vzip" class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-WithSubscriber-for-T" class="impl"><a class="src rightside" href="../src/tracing/instrument.rs.html#393">Source</a><a href="#impl-WithSubscriber-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../tracing/instrument/trait.WithSubscriber.html" title="trait tracing::instrument::WithSubscriber">WithSubscriber</a> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.with_subscriber" class="method trait-impl"><a class="src rightside" href="../src/tracing/instrument.rs.html#176-178">Source</a><a href="#method.with_subscriber" class="anchor">§</a><h4 class="code-header">fn <a href="../tracing/instrument/trait.WithSubscriber.html#method.with_subscriber" class="fn">with_subscriber</a>&lt;S&gt;(self, subscriber: S) -&gt; <a class="struct" href="../tracing/instrument/struct.WithDispatch.html" title="struct tracing::instrument::WithDispatch">WithDispatch</a>&lt;Self&gt;<div class="where">where
S: <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;<a class="struct" href="../tracing_core/dispatcher/struct.Dispatch.html" title="struct tracing_core::dispatcher::Dispatch">Dispatch</a>&gt;,</div></h4></section></summary><div class='docblock'>Attaches the provided <a href="../tracing_core/subscriber/trait.Subscriber.html" title="trait tracing_core::subscriber::Subscriber"><code>Subscriber</code></a> to this type, returning a
<a href="../tracing/instrument/struct.WithDispatch.html" title="struct tracing::instrument::WithDispatch"><code>WithDispatch</code></a> wrapper. <a href="../tracing/instrument/trait.WithSubscriber.html#method.with_subscriber">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.with_current_subscriber" class="method trait-impl"><a class="src rightside" href="../src/tracing/instrument.rs.html#228">Source</a><a href="#method.with_current_subscriber" class="anchor">§</a><h4 class="code-header">fn <a href="../tracing/instrument/trait.WithSubscriber.html#method.with_current_subscriber" class="fn">with_current_subscriber</a>(self) -&gt; <a class="struct" href="../tracing/instrument/struct.WithDispatch.html" title="struct tracing::instrument::WithDispatch">WithDispatch</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Attaches the current <a href="../tracing/dispatcher/index.html#setting-the-default-subscriber" title="mod tracing::dispatcher">default</a> <a href="../tracing_core/subscriber/trait.Subscriber.html" title="trait tracing_core::subscriber::Subscriber"><code>Subscriber</code></a> to this type, returning a
<a href="../tracing/instrument/struct.WithDispatch.html" title="struct tracing::instrument::WithDispatch"><code>WithDispatch</code></a> wrapper. <a href="../tracing/instrument/trait.WithSubscriber.html#method.with_current_subscriber">Read more</a></div></details></div></details><section id="impl-ConditionalSend-for-T" class="impl"><a class="src rightside" href="../src/bevy_utils/lib.rs.html#65">Source</a><a href="#impl-ConditionalSend-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../bevy_utils/conditional_send/trait.ConditionalSend.html" title="trait bevy_utils::conditional_send::ConditionalSend">ConditionalSend</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-Reflectable-for-T" class="impl"><a class="src rightside" href="../src/bevy_reflect/reflectable.rs.html#33">Source</a><a href="#impl-Reflectable-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../bevy_reflect/reflectable/trait.Reflectable.html" title="trait bevy_reflect::reflectable::Reflectable">Reflectable</a> for T<div class="where">where
T: <a class="trait" href="../bevy_reflect/reflect/trait.Reflect.html" title="trait bevy_reflect::reflect::Reflect">Reflect</a> + <a class="trait" href="../bevy_reflect/type_registry/trait.GetTypeRegistration.html" title="trait bevy_reflect::type_registry::GetTypeRegistration">GetTypeRegistration</a> + <a class="trait" href="../bevy_reflect/type_info/trait.Typed.html" title="trait bevy_reflect::type_info::Typed">Typed</a> + <a class="trait" href="../bevy_reflect/type_path/trait.TypePath.html" title="trait bevy_reflect::type_path::TypePath">TypePath</a>,</div></h3></section><section id="impl-Settings-for-T" class="impl"><a class="src rightside" href="../src/bevy_asset/meta.rs.html#167">Source</a><a href="#impl-Settings-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../bevy_asset/meta/trait.Settings.html" title="trait bevy_asset::meta::Settings">Settings</a> for T<div class="where">where
T: 'static + <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><section id="impl-WasmNotSend-for-T" class="impl"><a class="src rightside" href="../src/wgpu_types/lib.rs.html#7477">Source</a><a href="#impl-WasmNotSend-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../wgpu_types/send_sync/trait.WasmNotSend.html" title="trait wgpu_types::send_sync::WasmNotSend">WasmNotSend</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-WasmNotSendSync-for-T" class="impl"><a class="src rightside" href="../src/wgpu_types/lib.rs.html#7461">Source</a><a href="#impl-WasmNotSendSync-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../wgpu_types/send_sync/trait.WasmNotSendSync.html" title="trait wgpu_types::send_sync::WasmNotSendSync">WasmNotSendSync</a> for T<div class="where">where
T: <a class="trait" href="../wgpu_types/send_sync/trait.WasmNotSend.html" title="trait wgpu_types::send_sync::WasmNotSend">WasmNotSend</a> + <a class="trait" href="../wgpu_types/send_sync/trait.WasmNotSync.html" title="trait wgpu_types::send_sync::WasmNotSync">WasmNotSync</a>,</div></h3></section><section id="impl-WasmNotSync-for-T" class="impl"><a class="src rightside" href="../src/wgpu_types/lib.rs.html#7510">Source</a><a href="#impl-WasmNotSync-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../wgpu_types/send_sync/trait.WasmNotSync.html" title="trait wgpu_types::send_sync::WasmNotSync">WasmNotSync</a> for T<div class="where">where
T: <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></div></section></div></main></body></html>