pub struct MeshMaterial2d<M>(pub Handle<M>)
where
M: Material2d;Expand description
A material used for rendering a Mesh2d.
See Material2d for general information about 2D materials and how to implement your own materials.
§Example
// Spawn an entity with a mesh using `ColorMaterial`.
fn setup(
mut commands: Commands,
mut meshes: ResMut<Assets<Mesh>>,
mut materials: ResMut<Assets<ColorMaterial>>,
) {
commands.spawn((
Mesh2d(meshes.add(Circle::new(50.0))),
MeshMaterial2d(materials.add(ColorMaterial::from_color(RED))),
));
}Tuple Fields§
§0: Handle<M>Methods from Deref<Target = Handle<M>>§
Sourcepub fn id(&self) -> AssetId<A>
pub fn id(&self) -> AssetId<A>
Examples found in repository?
examples/shader_advanced/manual_material.rs (line 125)
124 fn as_asset_id(&self) -> AssetId<Self::Asset> {
125 self.0.id()
126 }
127}
128
129#[derive(Asset, TypePath, AsBindGroup, Debug, Clone)]
130struct ImageMaterial {
131 image: Handle<Image>,
132}
133
134impl ErasedRenderAsset for ImageMaterial {
135 type SourceAsset = ImageMaterial;
136 type ErasedAsset = PreparedMaterial;
137 type Param = (
138 SRes<DrawFunctions<Opaque3d>>,
139 SRes<ImageMaterialBindGroupLayout>,
140 SRes<AssetServer>,
141 SResMut<MaterialBindGroupAllocators>,
142 SResMut<RenderMaterialBindings>,
143 SRes<RenderAssets<GpuImage>>,
144 SRes<ImageMaterialBindGroupSampler>,
145 );
146
147 fn prepare_asset(
148 source_asset: Self::SourceAsset,
149 asset_id: AssetId<Self::SourceAsset>,
150 (
151 opaque_draw_functions,
152 material_layout,
153 asset_server,
154 bind_group_allocators,
155 render_material_bindings,
156 gpu_images,
157 image_material_sampler,
158 ): &mut SystemParamItem<Self::Param>,
159 ) -> std::result::Result<Self::ErasedAsset, PrepareAssetError<Self::SourceAsset>> {
160 let material_layout = material_layout.0.clone();
161 let draw_function_id = opaque_draw_functions.read().id::<DrawMaterial>();
162 let bind_group_allocator = bind_group_allocators
163 .get_mut(&TypeId::of::<ImageMaterial>())
164 .unwrap();
165 let Some(image) = gpu_images.get(&source_asset.image) else {
166 return Err(PrepareAssetError::RetryNextUpdate(source_asset));
167 };
168 let mut unprepared = BindGroupBuilder {
169 binding_resources: UnpreparedBindingResources(vec![
170 (
171 0,
172 UnpreparedBindingResource::TextureView(
173 TextureViewDimension::D2,
174 image.texture_view.clone(),
175 ),
176 ),
177 (
178 1,
179 UnpreparedBindingResource::Sampler(
180 SamplerBindingType::NonFiltering,
181 image_material_sampler.0.clone(),
182 ),
183 ),
184 ]),
185 data_buffer: vec![],
186 };
187 let binding = match render_material_bindings.entry(asset_id.into()) {
188 Entry::Occupied(mut occupied_entry) => {
189 bind_group_allocator.free(*occupied_entry.get());
190 let new_binding =
191 bind_group_allocator.allocate_unprepared(&mut unprepared, &material_layout);
192 *occupied_entry.get_mut() = new_binding;
193 new_binding
194 }
195 Entry::Vacant(vacant_entry) => *vacant_entry.insert(
196 bind_group_allocator.allocate_unprepared(&mut unprepared, &material_layout),
197 ),
198 };
199
200 let mut properties = MaterialProperties {
201 material_layout: Some(material_layout),
202 mesh_pipeline_key_bits: ErasedMeshPipelineKey::new(MeshPipelineKey::empty()),
203 base_specialize: Some(base_specialize),
204 ..Default::default()
205 };
206 properties.add_draw_function(MainPassOpaqueDrawFunction, draw_function_id);
207 properties.add_shader(MaterialFragmentShader, asset_server.load(SHADER_ASSET_PATH));
208
209 Ok(PreparedMaterial {
210 binding,
211 properties: Arc::new(properties),
212 })
213 }
214}
215
216/// set up a simple 3D scene
217fn setup(
218 mut commands: Commands,
219 mut meshes: ResMut<Assets<Mesh>>,
220 mut materials: ResMut<Assets<ImageMaterial>>,
221 asset_server: Res<AssetServer>,
222) {
223 // cube
224 commands.spawn((
225 Mesh3d(meshes.add(Cuboid::new(2.0, 2.0, 2.0))),
226 ImageMaterial3d(materials.add(ImageMaterial {
227 image: asset_server.load("branding/icon.png"),
228 })),
229 Transform::from_xyz(0.0, 0.5, 0.0),
230 ));
231 // light
232 commands.spawn((
233 PointLight {
234 shadow_maps_enabled: true,
235 ..default()
236 },
237 Transform::from_xyz(4.0, 8.0, 4.0),
238 ));
239 // camera
240 commands.spawn((
241 Camera3d::default(),
242 Transform::from_xyz(-2.5, 4.5, 9.0).looking_at(Vec3::ZERO, Vec3::Y),
243 ));
244}
245
246fn extract_image_materials(
247 mut material_instances: ResMut<RenderMaterialInstances>,
248 changed_meshes_query: Extract<
249 Query<
250 (Entity, &ViewVisibility, &ImageMaterial3d),
251 Or<(Changed<ViewVisibility>, Changed<ImageMaterial3d>)>,
252 >,
253 >,
254) {
255 let last_change_tick = material_instances.current_change_tick;
256
257 for (entity, view_visibility, material) in &changed_meshes_query {
258 if view_visibility.get() {
259 material_instances.instances.insert(
260 entity.into(),
261 RenderMaterialInstance {
262 asset_id: material.0.id().untyped(),
263 last_change_tick,
264 },
265 );
266 } else {
267 material_instances
268 .instances
269 .remove(&MainEntity::from(entity));
270 }
271 }
272}More examples
examples/shader_advanced/compute_mesh.rs (line 194)
174fn prepare_chunks(
175 meshes_to_generate: Query<&GenerateMesh>,
176 mut chunks: ResMut<ChunksToProcess>,
177 pipeline_cache: Res<PipelineCache>,
178 pipeline: Res<ComputePipeline>,
179 mut processed: Local<HashSet<AssetId<Mesh>>>,
180) {
181 // If the pipeline isn't ready, then meshes
182 // won't be processed. So we want to wait until
183 // the pipeline is ready before considering any mesh processed.
184 if pipeline_cache
185 .get_compute_pipeline(pipeline.pipeline)
186 .is_some()
187 {
188 // get the AssetId for each Handle<Mesh>
189 // which we'll use later to get the relevant buffers
190 // from the mesh_allocator
191 let chunk_data: Vec<AssetId<Mesh>> = meshes_to_generate
192 .iter()
193 .filter_map(|gmesh| {
194 let id = gmesh.0.id();
195 processed.contains(&id).not().then_some(id)
196 })
197 .collect();
198
199 // Cache any meshes we're going to process this frame
200 for id in &chunk_data {
201 processed.insert(*id);
202 }
203
204 chunks.0 = chunk_data;
205 }
206}examples/3d/tonemapping.rs (line 248)
227fn resize_image(
228 image_mesh: Query<(&MeshMaterial3d<StandardMaterial>, &Mesh3d), With<HDRViewer>>,
229 materials: Res<Assets<StandardMaterial>>,
230 mut meshes: ResMut<Assets<Mesh>>,
231 images: Res<Assets<Image>>,
232 mut image_event_reader: MessageReader<AssetEvent<Image>>,
233) {
234 for event in image_event_reader.read() {
235 let (AssetEvent::Added { id } | AssetEvent::Modified { id }) = event else {
236 continue;
237 };
238
239 for (mat_h, mesh_h) in &image_mesh {
240 let Some(mat) = materials.get(mat_h) else {
241 continue;
242 };
243
244 let Some(ref base_color_texture) = mat.base_color_texture else {
245 continue;
246 };
247
248 if *id != base_color_texture.id() {
249 continue;
250 };
251
252 let Some(image_changed) = images.get(*id) else {
253 continue;
254 };
255
256 let size = image_changed.size_f32().normalize_or_zero() * 1.4;
257 // Resize Mesh
258 let quad = Mesh::from(Rectangle::from_size(size));
259 meshes.insert(mesh_h, quad).unwrap();
260 }
261 }
262}examples/3d/mirror.rs (line 409)
388fn handle_window_resize_messages(
389 windows_query: Query<&Window>,
390 mut mirror_cameras_query: Query<&mut RenderTarget, With<MirrorCamera>>,
391 mut images: ResMut<Assets<Image>>,
392 mut mirror_image: ResMut<MirrorImage>,
393 mut screen_space_texture_materials: ResMut<
394 Assets<ExtendedMaterial<StandardMaterial, ScreenSpaceTextureExtension>>,
395 >,
396 mut resize_messages: MessageReader<WindowResized>,
397) {
398 // We run at most once, regardless of the number of window resize messages
399 // there were this frame.
400 let Some(resize_message) = resize_messages.read().next() else {
401 return;
402 };
403 let Ok(window) = windows_query.get(resize_message.window) else {
404 return;
405 };
406
407 let window_size = uvec2(window.physical_width(), window.physical_height());
408 let image = create_mirror_texture_image(&mut images, window_size);
409 images.remove(mirror_image.0.id());
410
411 mirror_image.0 = image.clone();
412
413 for mut target in mirror_cameras_query.iter_mut() {
414 *target = image.clone().into();
415 }
416
417 for (_, material) in screen_space_texture_materials.iter_mut() {
418 material.base.emissive_texture = Some(image.clone());
419 }
420}examples/2d/mesh2d_manual.rs (line 551)
517pub fn extract_colored_mesh2d(
518 mut commands: Commands,
519 mut previous_len: Local<usize>,
520 // When extracting, you must use `Extract` to mark the `SystemParam`s
521 // which should be taken from the main world.
522 query: Extract<
523 Query<
524 (
525 Entity,
526 RenderEntity,
527 &ViewVisibility,
528 &GlobalTransform,
529 &Mesh2d,
530 ),
531 With<ColoredMesh2d>,
532 >,
533 >,
534 mut render_mesh_instances: ResMut<RenderColoredMesh2dInstances>,
535) {
536 let mut values = Vec::with_capacity(*previous_len);
537 for (entity, render_entity, view_visibility, transform, handle) in &query {
538 if !view_visibility.get() {
539 continue;
540 }
541
542 let transforms = Mesh2dTransforms {
543 world_from_local: transform.affine().into(),
544 flags: MeshFlags::empty().bits(),
545 };
546
547 values.push((render_entity, ColoredMesh2d));
548 render_mesh_instances.insert(
549 entity.into(),
550 RenderMesh2dInstance {
551 mesh_asset_id: handle.0.id(),
552 transforms,
553 // This is unused here.
554 material_bindings_index: MaterialBindingId::default(),
555 automatic_batching: false,
556 tag: 0,
557 },
558 );
559 }
560 *previous_len = values.len();
561 commands.try_insert_batch(values);
562}Additional examples can be found in:
Trait Implementations§
Source§impl<M> AsAssetId for MeshMaterial2d<M>where
M: Material2d,
impl<M> AsAssetId for MeshMaterial2d<M>where
M: Material2d,
Source§fn as_asset_id(&self) -> AssetId<<MeshMaterial2d<M> as AsAssetId>::Asset>
fn as_asset_id(&self) -> AssetId<<MeshMaterial2d<M> as AsAssetId>::Asset>
Retrieves the asset id from this component.
Source§impl<M> Clone for MeshMaterial2d<M>where
M: Clone + Material2d,
impl<M> Clone for MeshMaterial2d<M>where
M: Clone + Material2d,
Source§fn clone(&self) -> MeshMaterial2d<M>
fn clone(&self) -> MeshMaterial2d<M>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<M> Component for MeshMaterial2d<M>
impl<M> Component for MeshMaterial2d<M>
Source§const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
A constant indicating the storage type used for this component.
Source§type Mutability = Mutable
type Mutability = Mutable
A marker type to assist Bevy with determining if this component is
mutable, or immutable. Mutable components will have
Component<Mutability = Mutable>,
while immutable components will instead have Component<Mutability = Immutable>. Read moreSource§fn register_required_components(
_requiree: ComponentId,
required_components: &mut RequiredComponentsRegistrator<'_, '_>,
)
fn register_required_components( _requiree: ComponentId, required_components: &mut RequiredComponentsRegistrator<'_, '_>, )
Registers required components. Read more
Source§fn clone_behavior() -> ComponentCloneBehavior
fn clone_behavior() -> ComponentCloneBehavior
Called when registering this component, allowing to override clone function (or disable cloning altogether) for this component. Read more
Source§fn relationship_accessor() -> Option<ComponentRelationshipAccessor<MeshMaterial2d<M>>>
fn relationship_accessor() -> Option<ComponentRelationshipAccessor<MeshMaterial2d<M>>>
Returns
ComponentRelationshipAccessor required for working with relationships in dynamic contexts. Read moreSource§fn on_add() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
fn on_add() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn on_insert() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
fn on_insert() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn on_discard() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
fn on_discard() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn on_remove() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
fn on_remove() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn on_despawn() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
fn on_despawn() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn map_entities<E>(_this: &mut Self, _mapper: &mut E)where
E: EntityMapper,
fn map_entities<E>(_this: &mut Self, _mapper: &mut E)where
E: EntityMapper,
Maps the entities on this component using the given
EntityMapper. This is used to remap entities in contexts like scenes and entity cloning.
When deriving Component, this is populated by annotating fields containing entities with #[entities] Read moreSource§const HAS_SUMMARY_TICK: bool = false
const HAS_SUMMARY_TICK: bool = false
Set this constant to true if the component should track a summary
tick. Read more
Source§impl<M> Debug for MeshMaterial2d<M>where
M: Debug + Material2d,
impl<M> Debug for MeshMaterial2d<M>where
M: Debug + Material2d,
Source§impl<M> Default for MeshMaterial2d<M>where
M: Material2d,
impl<M> Default for MeshMaterial2d<M>where
M: Material2d,
Source§fn default() -> MeshMaterial2d<M>
fn default() -> MeshMaterial2d<M>
Returns the “default value” for a type. Read more
Source§impl<M> Deref for MeshMaterial2d<M>where
M: Material2d,
impl<M> Deref for MeshMaterial2d<M>where
M: Material2d,
Source§impl<M> DerefMut for MeshMaterial2d<M>where
M: Material2d,
impl<M> DerefMut for MeshMaterial2d<M>where
M: Material2d,
impl<M> Eq for MeshMaterial2d<M>where
M: Material2d,
Source§impl<M> ErasedRenderAsset for MeshMaterial2d<M>
impl<M> ErasedRenderAsset for MeshMaterial2d<M>
Source§type SourceAsset = M
type SourceAsset = M
The representation of the asset in the “main world”.
Source§type ErasedAsset = PreparedMaterial2d
type ErasedAsset = PreparedMaterial2d
The target representation of the asset in the “render world”.
Source§type Param = (Res<'static, RenderDevice>, Res<'static, PipelineCache>, Res<'static, FallbackBuffer>, Res<'static, RenderAssets<GpuShaderBuffer>>, ResMut<'static, MaterialBindGroupAllocators>, ResMut<'static, RenderMaterialBindings>, Res<'static, DrawFunctions<Opaque2d>>, Res<'static, DrawFunctions<AlphaMask2d>>, Res<'static, DrawFunctions<Transparent2d>>, Res<'static, Material2dShaders<M>>, <M as AsBindGroup>::Param)
type Param = (Res<'static, RenderDevice>, Res<'static, PipelineCache>, Res<'static, FallbackBuffer>, Res<'static, RenderAssets<GpuShaderBuffer>>, ResMut<'static, MaterialBindGroupAllocators>, ResMut<'static, RenderMaterialBindings>, Res<'static, DrawFunctions<Opaque2d>>, Res<'static, DrawFunctions<AlphaMask2d>>, Res<'static, DrawFunctions<Transparent2d>>, Res<'static, Material2dShaders<M>>, <M as AsBindGroup>::Param)
Specifies all ECS data required by
ErasedRenderAsset::prepare_asset. Read moreSource§fn prepare_asset(
material: <MeshMaterial2d<M> as ErasedRenderAsset>::SourceAsset,
material_id: AssetId<<MeshMaterial2d<M> as ErasedRenderAsset>::SourceAsset>,
_: &mut <<MeshMaterial2d<M> as ErasedRenderAsset>::Param as SystemParam>::Item<'_, '_>,
) -> Result<<MeshMaterial2d<M> as ErasedRenderAsset>::ErasedAsset, PrepareAssetError<<MeshMaterial2d<M> as ErasedRenderAsset>::SourceAsset>>
fn prepare_asset( material: <MeshMaterial2d<M> as ErasedRenderAsset>::SourceAsset, material_id: AssetId<<MeshMaterial2d<M> as ErasedRenderAsset>::SourceAsset>, _: &mut <<MeshMaterial2d<M> as ErasedRenderAsset>::Param as SystemParam>::Item<'_, '_>, ) -> Result<<MeshMaterial2d<M> as ErasedRenderAsset>::ErasedAsset, PrepareAssetError<<MeshMaterial2d<M> as ErasedRenderAsset>::SourceAsset>>
Prepares the
ErasedRenderAsset::SourceAsset for the GPU by transforming it into a ErasedRenderAsset. Read moreSource§fn unload_asset(
source_asset: AssetId<<MeshMaterial2d<M> as ErasedRenderAsset>::SourceAsset>,
_: &mut <<MeshMaterial2d<M> as ErasedRenderAsset>::Param as SystemParam>::Item<'_, '_>,
)
fn unload_asset( source_asset: AssetId<<MeshMaterial2d<M> as ErasedRenderAsset>::SourceAsset>, _: &mut <<MeshMaterial2d<M> as ErasedRenderAsset>::Param as SystemParam>::Item<'_, '_>, )
Called whenever the
ErasedRenderAsset::SourceAsset has been removed. Read moreSource§fn asset_usage(_source_asset: &Self::SourceAsset) -> RenderAssetUsages
fn asset_usage(_source_asset: &Self::SourceAsset) -> RenderAssetUsages
Whether or not to unload the asset after extracting it to the render world.
Source§fn byte_len(erased_asset: &Self::SourceAsset) -> Option<usize>
fn byte_len(erased_asset: &Self::SourceAsset) -> Option<usize>
Size of the data the asset will upload to the gpu. Specifying a return value
will allow the asset to be throttled via
RenderAssetBytesPerFrameLimiter.Source§impl<M> From<&MeshMaterial2d<M>> for AssetId<M>where
M: Material2d,
impl<M> From<&MeshMaterial2d<M>> for AssetId<M>where
M: Material2d,
Source§fn from(material: &MeshMaterial2d<M>) -> AssetId<M>
fn from(material: &MeshMaterial2d<M>) -> AssetId<M>
Converts to this type from the input type.
Source§impl<M> From<Handle<M>> for MeshMaterial2d<M>where
M: Material2d,
impl<M> From<Handle<M>> for MeshMaterial2d<M>where
M: Material2d,
Source§fn from(value: Handle<M>) -> MeshMaterial2d<M>
fn from(value: Handle<M>) -> MeshMaterial2d<M>
Converts to this type from the input type.
Source§impl<M> From<MeshMaterial2d<M>> for AssetId<M>where
M: Material2d,
impl<M> From<MeshMaterial2d<M>> for AssetId<M>where
M: Material2d,
Source§fn from(material: MeshMaterial2d<M>) -> AssetId<M>
fn from(material: MeshMaterial2d<M>) -> AssetId<M>
Converts to this type from the input type.
Source§impl<M> FromArg for MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl<M> FromArg for MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§impl<M> FromReflect for MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl<M> FromReflect for MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn from_reflect(
reflect: &(dyn PartialReflect + 'static),
) -> Option<MeshMaterial2d<M>>
fn from_reflect( reflect: &(dyn PartialReflect + 'static), ) -> Option<MeshMaterial2d<M>>
Constructs a concrete instance of
Self from a reflected value.Source§fn take_from_reflect(
reflect: Box<dyn PartialReflect>,
) -> Result<Self, Box<dyn PartialReflect>>
fn take_from_reflect( reflect: Box<dyn PartialReflect>, ) -> Result<Self, Box<dyn PartialReflect>>
Attempts to downcast the given value to
Self using,
constructing the value using from_reflect if that fails. Read moreSource§impl<M> FromTemplate for MeshMaterial2d<M>where
M: Material2d,
impl<M> FromTemplate for MeshMaterial2d<M>where
M: Material2d,
Source§type Template = MeshMaterial2dTemplate<M>
type Template = MeshMaterial2dTemplate<M>
The
Template for this type.Source§impl<M> GetOwnership for MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl<M> GetOwnership for MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§impl<M> GetTypeRegistration for MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl<M> GetTypeRegistration for MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn get_type_registration() -> TypeRegistration
fn get_type_registration() -> TypeRegistration
Returns the default
TypeRegistration for this type.Source§fn register_type_dependencies(registry: &mut TypeRegistry)
fn register_type_dependencies(registry: &mut TypeRegistry)
Registers other types needed by this type. Read more
Source§impl<M> IntoReturn for MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl<M> IntoReturn for MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn into_return<'into_return>(self) -> Return<'into_return>where
MeshMaterial2d<M>: 'into_return,
fn into_return<'into_return>(self) -> Return<'into_return>where
MeshMaterial2d<M>: 'into_return,
Source§impl<M> PartialEq for MeshMaterial2d<M>where
M: Material2d,
impl<M> PartialEq for MeshMaterial2d<M>where
M: Material2d,
Source§impl<M> PartialReflect for MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl<M> PartialReflect for MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn get_represented_type_info(&self) -> Option<&'static TypeInfo>
fn get_represented_type_info(&self) -> Option<&'static TypeInfo>
Source§fn try_apply(
&mut self,
value: &(dyn PartialReflect + 'static),
) -> Result<(), ApplyError>
fn try_apply( &mut self, value: &(dyn PartialReflect + 'static), ) -> Result<(), ApplyError>
Source§fn reflect_kind(&self) -> ReflectKind
fn reflect_kind(&self) -> ReflectKind
Returns a zero-sized enumeration of “kinds” of type. Read more
Source§fn reflect_ref(&self) -> ReflectRef<'_>
fn reflect_ref(&self) -> ReflectRef<'_>
Returns an immutable enumeration of “kinds” of type. Read more
Source§fn reflect_mut(&mut self) -> ReflectMut<'_>
fn reflect_mut(&mut self) -> ReflectMut<'_>
Returns a mutable enumeration of “kinds” of type. Read more
Source§fn reflect_owned(self: Box<MeshMaterial2d<M>>) -> ReflectOwned
fn reflect_owned(self: Box<MeshMaterial2d<M>>) -> ReflectOwned
Returns an owned enumeration of “kinds” of type. Read more
Source§fn try_into_reflect(
self: Box<MeshMaterial2d<M>>,
) -> Result<Box<dyn Reflect>, Box<dyn PartialReflect>>
fn try_into_reflect( self: Box<MeshMaterial2d<M>>, ) -> Result<Box<dyn Reflect>, Box<dyn PartialReflect>>
Attempts to cast this type to a boxed, fully-reflected value.
Source§fn try_as_reflect(&self) -> Option<&(dyn Reflect + 'static)>
fn try_as_reflect(&self) -> Option<&(dyn Reflect + 'static)>
Attempts to cast this type to a fully-reflected value.
Source§fn try_as_reflect_mut(&mut self) -> Option<&mut (dyn Reflect + 'static)>
fn try_as_reflect_mut(&mut self) -> Option<&mut (dyn Reflect + 'static)>
Attempts to cast this type to a mutable, fully-reflected value.
Source§fn into_partial_reflect(self: Box<MeshMaterial2d<M>>) -> Box<dyn PartialReflect>
fn into_partial_reflect(self: Box<MeshMaterial2d<M>>) -> Box<dyn PartialReflect>
Casts this type to a boxed, reflected value. Read more
Source§fn as_partial_reflect(&self) -> &(dyn PartialReflect + 'static)
fn as_partial_reflect(&self) -> &(dyn PartialReflect + 'static)
Casts this type to a reflected value. Read more
Source§fn as_partial_reflect_mut(&mut self) -> &mut (dyn PartialReflect + 'static)
fn as_partial_reflect_mut(&mut self) -> &mut (dyn PartialReflect + 'static)
Casts this type to a mutable, reflected value. Read more
Source§fn reflect_partial_eq(
&self,
value: &(dyn PartialReflect + 'static),
) -> Option<bool>
fn reflect_partial_eq( &self, value: &(dyn PartialReflect + 'static), ) -> Option<bool>
Returns a “partial equality” comparison result. Read more
Source§fn reflect_partial_cmp(
&self,
value: &(dyn PartialReflect + 'static),
) -> Option<Ordering>
fn reflect_partial_cmp( &self, value: &(dyn PartialReflect + 'static), ) -> Option<Ordering>
Returns a “partial comparison” result. Read more
Source§fn reflect_clone(&self) -> Result<Box<dyn Reflect>, ReflectCloneError>
fn reflect_clone(&self) -> Result<Box<dyn Reflect>, ReflectCloneError>
Attempts to clone
Self using reflection. Read moreSource§fn apply(&mut self, value: &(dyn PartialReflect + 'static))
fn apply(&mut self, value: &(dyn PartialReflect + 'static))
Applies a reflected value to this value. Read more
Source§fn to_dynamic(&self) -> Result<Box<dyn PartialReflect>, ReflectCloneError>
fn to_dynamic(&self) -> Result<Box<dyn PartialReflect>, ReflectCloneError>
Source§fn reflect_clone_and_take<T>(&self) -> Result<T, ReflectCloneError>
fn reflect_clone_and_take<T>(&self) -> Result<T, ReflectCloneError>
For a type implementing
PartialReflect, combines reflect_clone and
take in a useful fashion, automatically constructing an appropriate
ReflectCloneError if the downcast fails.Source§fn reflect_hash(&self) -> Option<u64>
fn reflect_hash(&self) -> Option<u64>
Returns a hash of the value (which includes the type). Read more
Source§fn debug(&self, f: &mut Formatter<'_>) -> Result<(), Error>
fn debug(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Debug formatter for the value. Read more
Source§fn is_dynamic(&self) -> bool
fn is_dynamic(&self) -> bool
Indicates whether or not this type is a dynamic type. Read more
Source§impl<M> Reflect for MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl<M> Reflect for MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn into_any(self: Box<MeshMaterial2d<M>>) -> Box<dyn Any>
fn into_any(self: Box<MeshMaterial2d<M>>) -> Box<dyn Any>
Returns the value as a
Box<dyn Any>. Read moreSource§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Returns the value as a
&mut dyn Any. Read moreSource§fn into_reflect(self: Box<MeshMaterial2d<M>>) -> Box<dyn Reflect>
fn into_reflect(self: Box<MeshMaterial2d<M>>) -> Box<dyn Reflect>
Casts this type to a boxed, fully-reflected value.
Source§fn as_reflect(&self) -> &(dyn Reflect + 'static)
fn as_reflect(&self) -> &(dyn Reflect + 'static)
Casts this type to a fully-reflected value.
Source§fn as_reflect_mut(&mut self) -> &mut (dyn Reflect + 'static)
fn as_reflect_mut(&mut self) -> &mut (dyn Reflect + 'static)
Casts this type to a mutable, fully-reflected value.
Source§impl<M> TupleStruct for MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl<M> TupleStruct for MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn field(&self, index: usize) -> Option<&(dyn PartialReflect + 'static)>
fn field(&self, index: usize) -> Option<&(dyn PartialReflect + 'static)>
Returns a reference to the value of the field with index
index as a
&dyn Reflect.Source§fn field_mut(
&mut self,
index: usize,
) -> Option<&mut (dyn PartialReflect + 'static)>
fn field_mut( &mut self, index: usize, ) -> Option<&mut (dyn PartialReflect + 'static)>
Returns a mutable reference to the value of the field with index
index
as a &mut dyn Reflect.Source§fn iter_fields(&self) -> TupleStructFieldIter<'_> ⓘ
fn iter_fields(&self) -> TupleStructFieldIter<'_> ⓘ
Returns an iterator over the values of the tuple struct’s fields.
Source§fn to_dynamic_tuple_struct(
&self,
) -> Result<DynamicTupleStruct, ReflectCloneError>
fn to_dynamic_tuple_struct( &self, ) -> Result<DynamicTupleStruct, ReflectCloneError>
Creates a new
DynamicTupleStruct from this tuple struct. Read moreSource§fn get_represented_tuple_struct_info(&self) -> Option<&'static TupleStructInfo>
fn get_represented_tuple_struct_info(&self) -> Option<&'static TupleStructInfo>
Will return
None if TypeInfo is not available.Source§impl<M> TypePath for MeshMaterial2d<M>
impl<M> TypePath for MeshMaterial2d<M>
Source§fn type_path() -> &'static str
fn type_path() -> &'static str
Returns the fully qualified path of the underlying type. Read more
Source§fn short_type_path() -> &'static str
fn short_type_path() -> &'static str
Returns a short, pretty-print enabled path to the type. Read more
Source§fn type_ident() -> Option<&'static str>
fn type_ident() -> Option<&'static str>
Source§fn crate_name() -> Option<&'static str>
fn crate_name() -> Option<&'static str>
Source§impl<M> Typed for MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl<M> Typed for MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl<M> Unpin for MeshMaterial2d<M>
Auto Trait Implementations§
impl<M> Freeze for MeshMaterial2d<M>
impl<M> RefUnwindSafe for MeshMaterial2d<M>where
Handle<M>: RefUnwindSafe,
impl<M> Send for MeshMaterial2d<M>
impl<M> Sync for MeshMaterial2d<M>
impl<M> UnsafeUnpin for MeshMaterial2d<M>where
Handle<M>: UnsafeUnpin,
impl<M> UnwindSafe for MeshMaterial2d<M>where
Handle<M>: UnwindSafe,
Blanket Implementations§
Source§impl<T, U> AsBindGroupShaderType<U> for T
impl<T, U> AsBindGroupShaderType<U> for T
Source§fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
Return the
T ShaderType for self. When used in AsBindGroup
derives, it is safe to assume that all images in self exist.Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Brush for T
Source§impl<C> Bundle for Cwhere
C: Component,
impl<C> Bundle for Cwhere
C: Component,
fn component_ids( components: &mut ComponentsRegistrator<'_>, ) -> impl Iterator<Item = ComponentId> + use<C>
Source§fn get_component_ids(
components: &Components,
) -> impl Iterator<Item = Option<ComponentId>>
fn get_component_ids( components: &Components, ) -> impl Iterator<Item = Option<ComponentId>>
Source§impl<C> BundleFromComponents for Cwhere
C: Component,
impl<C> BundleFromComponents for Cwhere
C: Component,
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ConditionalSend for Twhere
T: Send,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
Source§impl<C> DynamicBundle for Cwhere
C: Component,
impl<C> DynamicBundle for Cwhere
C: Component,
Source§unsafe fn get_components(
ptr: MovingPtr<'_, C>,
func: &mut impl FnMut(StorageType, OwningPtr<'_>),
) -> <C as DynamicBundle>::Effect
unsafe fn get_components( ptr: MovingPtr<'_, C>, func: &mut impl FnMut(StorageType, OwningPtr<'_>), ) -> <C as DynamicBundle>::Effect
Moves the components out of the bundle. Read more
Source§unsafe fn apply_effect(
_ptr: MovingPtr<'_, MaybeUninit<C>>,
_entity: &mut EntityWorldMut<'_>,
)
unsafe fn apply_effect( _ptr: MovingPtr<'_, MaybeUninit<C>>, _entity: &mut EntityWorldMut<'_>, )
Applies the after-effects of spawning this bundle. Read more
Source§impl<T> DynamicTypePath for Twhere
T: TypePath,
impl<T> DynamicTypePath for Twhere
T: TypePath,
Source§fn reflect_type_path(&self) -> &str
fn reflect_type_path(&self) -> &str
See
TypePath::type_path.Source§fn reflect_short_type_path(&self) -> &str
fn reflect_short_type_path(&self) -> &str
Source§fn reflect_type_ident(&self) -> Option<&str>
fn reflect_type_ident(&self) -> Option<&str>
See
TypePath::type_ident.Source§fn reflect_crate_name(&self) -> Option<&str>
fn reflect_crate_name(&self) -> Option<&str>
See
TypePath::crate_name.Source§fn reflect_module_path(&self) -> Option<&str>
fn reflect_module_path(&self) -> Option<&str>
Source§impl<T> DynamicTyped for Twhere
T: Typed,
impl<T> DynamicTyped for Twhere
T: Typed,
Source§fn reflect_type_info(&self) -> &'static TypeInfo
fn reflect_type_info(&self) -> &'static TypeInfo
See
Typed::type_info.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<A> ErasedRenderAssetDependency for Awhere
A: ErasedRenderAsset,
impl<A> ErasedRenderAssetDependency for Awhere
A: ErasedRenderAsset,
fn register_system( render_app: &mut SubApp, system: ScheduleConfigs<Box<dyn System<Out = (), In = ()>>>, )
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
Causes
self to use its Binary implementation when Debug-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
Causes
self to use its Display implementation when
Debug-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
Causes
self to use its LowerExp implementation when
Debug-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
Causes
self to use its LowerHex implementation when
Debug-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
Causes
self to use its Octal implementation when Debug-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
Causes
self to use its Pointer implementation when
Debug-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
Causes
self to use its UpperExp implementation when
Debug-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
Causes
self to use its UpperHex implementation when
Debug-formatted.Source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
Source§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Creates Self using default().
Source§impl<T> GetPath for T
impl<T> GetPath for T
Source§fn reflect_path<'p>(
&self,
path: impl ReflectPath<'p>,
) -> Result<&(dyn PartialReflect + 'static), ReflectPathError<'p>>
fn reflect_path<'p>( &self, path: impl ReflectPath<'p>, ) -> Result<&(dyn PartialReflect + 'static), ReflectPathError<'p>>
Returns a reference to the value specified by
path. Read moreSource§fn reflect_path_mut<'p>(
&mut self,
path: impl ReflectPath<'p>,
) -> Result<&mut (dyn PartialReflect + 'static), ReflectPathError<'p>>
fn reflect_path_mut<'p>( &mut self, path: impl ReflectPath<'p>, ) -> Result<&mut (dyn PartialReflect + 'static), ReflectPathError<'p>>
Returns a mutable reference to the value specified by
path. Read moreSource§fn path<'p, T>(
&self,
path: impl ReflectPath<'p>,
) -> Result<&T, ReflectPathError<'p>>where
T: Reflect,
fn path<'p, T>(
&self,
path: impl ReflectPath<'p>,
) -> Result<&T, ReflectPathError<'p>>where
T: Reflect,
Returns a statically typed reference to the value specified by
path. Read moreSource§fn path_mut<'p, T>(
&mut self,
path: impl ReflectPath<'p>,
) -> Result<&mut T, ReflectPathError<'p>>where
T: Reflect,
fn path_mut<'p, T>(
&mut self,
path: impl ReflectPath<'p>,
) -> Result<&mut T, ReflectPathError<'p>>where
T: Reflect,
Returns a statically typed mutable reference to the value specified by
path. Read moreSource§impl<S> GetTupleStructField for Swhere
S: TupleStruct,
impl<S> GetTupleStructField for Swhere
S: TupleStruct,
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T> HitDataExtra for T
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
Source§impl<T> InitializeFromFunction<T> for T
impl<T> InitializeFromFunction<T> for T
Source§fn initialize_from_function(f: fn() -> T) -> T
fn initialize_from_function(f: fn() -> T) -> T
Create an instance of this type from an initialization function
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
Source§fn into_result(self) -> Result<T, RunSystemError>
fn into_result(self) -> Result<T, RunSystemError>
Converts this type into the system output type.
Source§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
Source§impl<G> PatchFromTemplate for Gwhere
G: FromTemplate,
impl<G> PatchFromTemplate for Gwhere
G: FromTemplate,
Source§fn patch<F>(func: F) -> TemplatePatch<F, <G as PatchFromTemplate>::Template>
fn patch<F>(func: F) -> TemplatePatch<F, <G as PatchFromTemplate>::Template>
Takes a “patch function”
func, and turns it into a TemplatePatch.Source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
Borrows
self and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
Mutably borrows
self and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
Borrows
self, then passes self.as_ref() into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
Mutably borrows
self, then passes self.as_mut() into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
Borrows
self, then passes self.deref() into the pipe function.impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().impl<T> Reflectable for T
Source§impl<C> SceneEffect for Cwhere
C: Component,
impl<C> SceneEffect for Cwhere
C: Component,
Source§fn apply(
self,
context: &mut TemplateContext<'_, '_>,
bundle_writer: &mut BundleWriter<'_>,
)
fn apply( self, context: &mut TemplateContext<'_, '_>, bundle_writer: &mut BundleWriter<'_>, )
Applies the scene effect to the current context.
impl<T> Settings for T
Source§impl<Ret> SpawnIfAsync<(), Ret> for Ret
impl<Ret> SpawnIfAsync<(), Ret> for Ret
Source§impl<T, O> SuperFrom<T> for Owhere
O: From<T>,
impl<T, O> SuperFrom<T> for Owhere
O: From<T>,
Source§fn super_from(input: T) -> O
fn super_from(input: T) -> O
Convert from a type to another type.
Source§impl<T, O, M> SuperInto<O, M> for Twhere
O: SuperFrom<T, M>,
impl<T, O, M> SuperInto<O, M> for Twhere
O: SuperFrom<T, M>,
Source§fn super_into(self) -> O
fn super_into(self) -> O
Convert from a type to another type.
Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Immutable access to the
Borrow<B> of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
Mutable access to the
BorrowMut<B> of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
Immutable access to the
AsRef<R> view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
Mutable access to the
AsMut<R> view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Immutable access to the
Deref::Target of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Mutable access to the
Deref::Target of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap() only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
Calls
.tap_borrow() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
Calls
.tap_borrow_mut() only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
Calls
.tap_ref() only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
Calls
.tap_ref_mut() only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
Calls
.tap_deref() only in debug builds, and is erased in release
builds.Source§impl<T, U> ToSample<U> for Twhere
U: FromSample<T>,
impl<T, U> ToSample<U> for Twhere
U: FromSample<T>,
fn to_sample_(self) -> U
Source§impl<T> TypeData for T
impl<T> TypeData for T
Source§fn clone_type_data(&self) -> Box<dyn TypeData>
fn clone_type_data(&self) -> Box<dyn TypeData>
Creates a type-erased clone of
self.