pub struct GlobalTransform(/* private fields */);
Expand description
GlobalTransform
is an affine transformation from entity-local coordinates to worldspace coordinates.
You cannot directly mutate GlobalTransform
; instead, you change an entity’s transform by manipulating
its Transform
, which indirectly causes Bevy to update its GlobalTransform
.
- To get the global transform of an entity, you should get its
GlobalTransform
. - For transform hierarchies to work correctly, you must have both a
Transform
and aGlobalTransform
.GlobalTransform
is automatically inserted wheneverTransform
is inserted.
§Transform
and GlobalTransform
Transform
transforms an entity relative to its parent’s reference frame, or relative to world space coordinates,
if it doesn’t have a ChildOf
component.
GlobalTransform
is managed by Bevy; it is computed by successively applying the Transform
of each ancestor
entity which has a Transform. This is done automatically by Bevy-internal systems in the system set
TransformPropagate
.
This system runs during PostUpdate
. If you
update the Transform
of an entity in this schedule or after, you will notice a 1 frame lag
before the GlobalTransform
is updated.
§Examples
Implementations§
Source§impl GlobalTransform
impl GlobalTransform
Sourcepub const IDENTITY: GlobalTransform
pub const IDENTITY: GlobalTransform
An identity GlobalTransform
that maps all points in space to themselves.
Sourcepub fn compute_matrix(&self) -> Mat4
pub fn compute_matrix(&self) -> Mat4
Returns the 3d affine transformation matrix as a Mat4
.
Sourcepub fn affine(&self) -> Affine3A
pub fn affine(&self) -> Affine3A
Returns the 3d affine transformation matrix as an Affine3A
.
Examples found in repository?
328pub fn extract_colored_mesh2d(
329 mut commands: Commands,
330 mut previous_len: Local<usize>,
331 // When extracting, you must use `Extract` to mark the `SystemParam`s
332 // which should be taken from the main world.
333 query: Extract<
334 Query<
335 (
336 Entity,
337 RenderEntity,
338 &ViewVisibility,
339 &GlobalTransform,
340 &Mesh2d,
341 ),
342 With<ColoredMesh2d>,
343 >,
344 >,
345 mut render_mesh_instances: ResMut<RenderColoredMesh2dInstances>,
346) {
347 let mut values = Vec::with_capacity(*previous_len);
348 for (entity, render_entity, view_visibility, transform, handle) in &query {
349 if !view_visibility.get() {
350 continue;
351 }
352
353 let transforms = Mesh2dTransforms {
354 world_from_local: (&transform.affine()).into(),
355 flags: MeshFlags::empty().bits(),
356 };
357
358 values.push((render_entity, ColoredMesh2d));
359 render_mesh_instances.insert(
360 entity.into(),
361 RenderMesh2dInstance {
362 mesh_asset_id: handle.0.id(),
363 transforms,
364 material_bind_group_id: Material2dBindGroupId::default(),
365 automatic_batching: false,
366 tag: 0,
367 },
368 );
369 }
370 *previous_len = values.len();
371 commands.try_insert_batch(values);
372}
Sourcepub fn compute_transform(&self) -> Transform
pub fn compute_transform(&self) -> Transform
Returns the transformation as a Transform
.
The transform is expected to be non-degenerate and without shearing, or the output will be invalid.
Sourcepub fn to_isometry(&self) -> Isometry3d
pub fn to_isometry(&self) -> Isometry3d
Returns the isometric part of the transformation as an isometry. Any scaling done by the transformation will be ignored.
The transform is expected to be non-degenerate and without shearing, or the output will be invalid.
Sourcepub fn reparented_to(&self, parent: &GlobalTransform) -> Transform
pub fn reparented_to(&self, parent: &GlobalTransform) -> Transform
Returns the Transform
self
would have if it was a child of an entity
with the parent
GlobalTransform
.
This is useful if you want to “reparent” an Entity
.
Say you have an entity e1
that you want to turn into a child of e2
,
but you want e1
to keep the same global transform, even after re-parenting. You would use:
#[derive(Component)]
struct ToReparent {
new_parent: Entity,
}
fn reparent_system(
mut commands: Commands,
mut targets: Query<(&mut Transform, Entity, &GlobalTransform, &ToReparent)>,
transforms: Query<&GlobalTransform>,
) {
for (mut transform, entity, initial, to_reparent) in targets.iter_mut() {
if let Ok(parent_transform) = transforms.get(to_reparent.new_parent) {
*transform = initial.reparented_to(parent_transform);
commands.entity(entity)
.remove::<ToReparent>()
.set_parent(to_reparent.new_parent);
}
}
}
The transform is expected to be non-degenerate and without shearing, or the output will be invalid.
Sourcepub fn to_scale_rotation_translation(&self) -> (Vec3, Quat, Vec3)
pub fn to_scale_rotation_translation(&self) -> (Vec3, Quat, Vec3)
Extracts scale
, rotation
and translation
from self
.
The transform is expected to be non-degenerate and without shearing, or the output will be invalid.
Examples found in repository?
104fn draw_bounds<Shape: Bounded2d + Send + Sync + 'static>(
105 q: Query<(&DrawBounds<Shape>, &GlobalTransform)>,
106 mut gizmos: Gizmos,
107) {
108 for (shape, transform) in &q {
109 let (_, rotation, translation) = transform.to_scale_rotation_translation();
110 let translation = translation.truncate();
111 let rotation = rotation.to_euler(EulerRot::XYZ).2;
112 let isometry = Isometry2d::new(translation, Rot2::radians(rotation));
113
114 let aabb = shape.0.aabb_2d(isometry);
115 gizmos.rect_2d(aabb.center(), aabb.half_size() * 2.0, RED);
116
117 let bounding_circle = shape.0.bounding_circle(isometry);
118 gizmos.circle_2d(bounding_circle.center, bounding_circle.radius(), BLUE);
119 }
120}
Sourcepub fn up(&self) -> Dir3
pub fn up(&self) -> Dir3
Return the local up vector (Y).
Examples found in repository?
13fn draw_cursor(
14 camera_query: Single<(&Camera, &GlobalTransform)>,
15 ground: Single<&GlobalTransform, With<Ground>>,
16 windows: Query<&Window>,
17 mut gizmos: Gizmos,
18) {
19 let Ok(windows) = windows.single() else {
20 return;
21 };
22
23 let (camera, camera_transform) = *camera_query;
24
25 let Some(cursor_position) = windows.cursor_position() else {
26 return;
27 };
28
29 // Calculate a ray pointing from the camera into the world based on the cursor's position.
30 let Ok(ray) = camera.viewport_to_world(camera_transform, cursor_position) else {
31 return;
32 };
33
34 // Calculate if and where the ray is hitting the ground plane.
35 let Some(distance) =
36 ray.intersect_plane(ground.translation(), InfinitePlane3d::new(ground.up()))
37 else {
38 return;
39 };
40 let point = ray.get_point(distance);
41
42 // Draw a circle just above the ground plane at that position.
43 gizmos.circle(
44 Isometry3d::new(
45 point + ground.up() * 0.01,
46 Quat::from_rotation_arc(Vec3::Z, ground.up().as_vec3()),
47 ),
48 0.2,
49 Color::WHITE,
50 );
51}
Sourcepub fn translation(&self) -> Vec3
pub fn translation(&self) -> Vec3
Get the translation as a Vec3
.
Examples found in repository?
122fn interact_bodies(mut query: Query<(&Mass, &GlobalTransform, &mut Acceleration)>) {
123 let mut iter = query.iter_combinations_mut();
124 while let Some([(Mass(m1), transform1, mut acc1), (Mass(m2), transform2, mut acc2)]) =
125 iter.fetch_next()
126 {
127 let delta = transform2.translation() - transform1.translation();
128 let distance_sq: f32 = delta.length_squared();
129
130 let f = GRAVITY_CONSTANT / distance_sq;
131 let force_unit_mass = delta * f;
132 acc1.0 += force_unit_mass * *m2;
133 acc2.0 -= force_unit_mass * *m1;
134 }
135}
More examples
13fn draw_cursor(
14 camera_query: Single<(&Camera, &GlobalTransform)>,
15 ground: Single<&GlobalTransform, With<Ground>>,
16 windows: Query<&Window>,
17 mut gizmos: Gizmos,
18) {
19 let Ok(windows) = windows.single() else {
20 return;
21 };
22
23 let (camera, camera_transform) = *camera_query;
24
25 let Some(cursor_position) = windows.cursor_position() else {
26 return;
27 };
28
29 // Calculate a ray pointing from the camera into the world based on the cursor's position.
30 let Ok(ray) = camera.viewport_to_world(camera_transform, cursor_position) else {
31 return;
32 };
33
34 // Calculate if and where the ray is hitting the ground plane.
35 let Some(distance) =
36 ray.intersect_plane(ground.translation(), InfinitePlane3d::new(ground.up()))
37 else {
38 return;
39 };
40 let point = ray.get_point(distance);
41
42 // Draw a circle just above the ground plane at that position.
43 gizmos.circle(
44 Isometry3d::new(
45 point + ground.up() * 0.01,
46 Quat::from_rotation_arc(Vec3::Z, ground.up().as_vec3()),
47 ),
48 0.2,
49 Color::WHITE,
50 );
51}
43fn observe_on_step(
44 trigger: Trigger<OnStep>,
45 particle: Res<ParticleAssets>,
46 mut commands: Commands,
47 transforms: Query<&GlobalTransform>,
48 mut seeded_rng: ResMut<SeededRng>,
49) {
50 let translation = transforms.get(trigger.target()).unwrap().translation();
51 // Spawn a bunch of particles.
52 for _ in 0..14 {
53 let horizontal = seeded_rng.0.r#gen::<Dir2>() * seeded_rng.0.gen_range(8.0..12.0);
54 let vertical = seeded_rng.0.gen_range(0.0..4.0);
55 let size = seeded_rng.0.gen_range(0.2..1.0);
56
57 commands.spawn((
58 Particle {
59 lifetime_timer: Timer::from_seconds(
60 seeded_rng.0.gen_range(0.2..0.6),
61 TimerMode::Once,
62 ),
63 size,
64 velocity: Vec3::new(horizontal.x, vertical, horizontal.y) * 10.0,
65 },
66 Mesh3d(particle.mesh.clone()),
67 MeshMaterial3d(particle.material.clone()),
68 Transform {
69 translation,
70 scale: Vec3::splat(size),
71 ..Default::default()
72 },
73 ));
74 }
75}
249fn example_control_system(
250 mut materials: ResMut<Assets<StandardMaterial>>,
251 controllable: Query<(&MeshMaterial3d<StandardMaterial>, &ExampleControls)>,
252 camera: Single<(&mut Camera, &mut Transform, &GlobalTransform), With<Camera3d>>,
253 mut labels: Query<(&mut Node, &ExampleLabel)>,
254 mut display: Single<&mut Text, With<ExampleDisplay>>,
255 labeled: Query<&GlobalTransform>,
256 mut state: Local<ExampleState>,
257 time: Res<Time>,
258 input: Res<ButtonInput<KeyCode>>,
259) {
260 if input.pressed(KeyCode::ArrowUp) {
261 state.alpha = (state.alpha + time.delta_secs()).min(1.0);
262 } else if input.pressed(KeyCode::ArrowDown) {
263 state.alpha = (state.alpha - time.delta_secs()).max(0.0);
264 }
265
266 if input.just_pressed(KeyCode::Space) {
267 state.unlit = !state.unlit;
268 }
269
270 let randomize_colors = input.just_pressed(KeyCode::KeyC);
271
272 for (material_handle, controls) in &controllable {
273 let material = materials.get_mut(material_handle).unwrap();
274
275 if controls.color && randomize_colors {
276 material.base_color = Srgba {
277 red: random(),
278 green: random(),
279 blue: random(),
280 alpha: state.alpha,
281 }
282 .into();
283 } else {
284 material.base_color.set_alpha(state.alpha);
285 }
286
287 if controls.unlit {
288 material.unlit = state.unlit;
289 }
290 }
291
292 let (mut camera, mut camera_transform, camera_global_transform) = camera.into_inner();
293
294 if input.just_pressed(KeyCode::KeyH) {
295 camera.hdr = !camera.hdr;
296 }
297
298 let rotation = if input.pressed(KeyCode::ArrowLeft) {
299 time.delta_secs()
300 } else if input.pressed(KeyCode::ArrowRight) {
301 -time.delta_secs()
302 } else {
303 0.0
304 };
305
306 camera_transform.rotate_around(Vec3::ZERO, Quat::from_rotation_y(rotation));
307
308 for (mut node, label) in &mut labels {
309 let world_position = labeled.get(label.entity).unwrap().translation() + Vec3::Y;
310
311 let viewport_position = camera
312 .world_to_viewport(camera_global_transform, world_position)
313 .unwrap();
314
315 node.top = Val::Px(viewport_position.y);
316 node.left = Val::Px(viewport_position.x);
317 }
318
319 display.0 = format!(
320 " HDR: {}\nAlpha: {:.2}",
321 if camera.hdr { "ON " } else { "OFF" },
322 state.alpha
323 );
324}
Sourcepub fn translation_vec3a(&self) -> Vec3A
pub fn translation_vec3a(&self) -> Vec3A
Get the translation as a Vec3A
.
Examples found in repository?
319fn draw_gizmos(
320 mut gizmos: Gizmos,
321 decals: Query<(&GlobalTransform, &Selection), With<ClusteredDecal>>,
322) {
323 for (global_transform, selection) in &decals {
324 let color = match *selection {
325 Selection::Camera => continue,
326 Selection::DecalA => ORANGE_RED,
327 Selection::DecalB => LIME,
328 };
329
330 gizmos.primitive_3d(
331 &Cuboid {
332 // Since the clustered decal is a 1×1×1 cube in model space, its
333 // half-size is half of the scaling part of its transform.
334 half_size: global_transform.scale() * 0.5,
335 },
336 Isometry3d {
337 rotation: global_transform.rotation(),
338 translation: global_transform.translation_vec3a(),
339 },
340 color,
341 );
342 }
343}
Sourcepub fn rotation(&self) -> Quat
pub fn rotation(&self) -> Quat
Get the rotation as a Quat
.
The transform is expected to be non-degenerate and without shearing, or the output will be invalid.
§Warning
This is calculated using to_scale_rotation_translation
, meaning that you
should probably use it directly if you also need translation or scale.
Examples found in repository?
319fn draw_gizmos(
320 mut gizmos: Gizmos,
321 decals: Query<(&GlobalTransform, &Selection), With<ClusteredDecal>>,
322) {
323 for (global_transform, selection) in &decals {
324 let color = match *selection {
325 Selection::Camera => continue,
326 Selection::DecalA => ORANGE_RED,
327 Selection::DecalB => LIME,
328 };
329
330 gizmos.primitive_3d(
331 &Cuboid {
332 // Since the clustered decal is a 1×1×1 cube in model space, its
333 // half-size is half of the scaling part of its transform.
334 half_size: global_transform.scale() * 0.5,
335 },
336 Isometry3d {
337 rotation: global_transform.rotation(),
338 translation: global_transform.translation_vec3a(),
339 },
340 color,
341 );
342 }
343}
Sourcepub fn scale(&self) -> Vec3
pub fn scale(&self) -> Vec3
Get the scale as a Vec3
.
The transform is expected to be non-degenerate and without shearing, or the output will be invalid.
Some of the computations overlap with to_scale_rotation_translation
, which means you should use
it instead if you also need rotation.
Examples found in repository?
319fn draw_gizmos(
320 mut gizmos: Gizmos,
321 decals: Query<(&GlobalTransform, &Selection), With<ClusteredDecal>>,
322) {
323 for (global_transform, selection) in &decals {
324 let color = match *selection {
325 Selection::Camera => continue,
326 Selection::DecalA => ORANGE_RED,
327 Selection::DecalB => LIME,
328 };
329
330 gizmos.primitive_3d(
331 &Cuboid {
332 // Since the clustered decal is a 1×1×1 cube in model space, its
333 // half-size is half of the scaling part of its transform.
334 half_size: global_transform.scale() * 0.5,
335 },
336 Isometry3d {
337 rotation: global_transform.rotation(),
338 translation: global_transform.translation_vec3a(),
339 },
340 color,
341 );
342 }
343}
Sourcepub fn radius_vec3a(&self, extents: Vec3A) -> f32
pub fn radius_vec3a(&self, extents: Vec3A) -> f32
Get an upper bound of the radius from the given extents
.
Sourcepub fn transform_point(&self, point: Vec3) -> Vec3
pub fn transform_point(&self, point: Vec3) -> Vec3
Transforms the given point from local space to global space, applying shear, scale, rotation and translation.
It can be used like this:
let global_transform = GlobalTransform::from_xyz(1., 2., 3.);
let local_point = Vec3::new(1., 2., 3.);
let global_point = global_transform.transform_point(local_point);
assert_eq!(global_point, Vec3::new(2., 4., 6.));
let global_point = Vec3::new(2., 4., 6.);
let global_transform = GlobalTransform::from_xyz(1., 2., 3.);
let local_point = global_transform.affine().inverse().transform_point3(global_point);
assert_eq!(local_point, Vec3::new(1., 2., 3.))
To apply shear, scale, and rotation without applying translation, different functions are available:
let global_transform = GlobalTransform::from_xyz(1., 2., 3.);
let local_direction = Vec3::new(1., 2., 3.);
let global_direction = global_transform.affine().transform_vector3(local_direction);
assert_eq!(global_direction, Vec3::new(1., 2., 3.));
let roundtripped_local_direction = global_transform.affine().inverse().transform_vector3(global_direction);
assert_eq!(roundtripped_local_direction, local_direction);
Examples found in repository?
526fn create_cubes(
527 image_assets: Res<Assets<Image>>,
528 mut commands: Commands,
529 irradiance_volumes: Query<(&IrradianceVolume, &GlobalTransform)>,
530 voxel_cube_parents: Query<Entity, With<VoxelCubeParent>>,
531 voxel_cubes: Query<Entity, With<VoxelCube>>,
532 example_assets: Res<ExampleAssets>,
533 mut voxel_visualization_material_assets: ResMut<Assets<VoxelVisualizationMaterial>>,
534) {
535 // If voxel cubes have already been spawned, don't do anything.
536 if !voxel_cubes.is_empty() {
537 return;
538 }
539
540 let Some(voxel_cube_parent) = voxel_cube_parents.iter().next() else {
541 return;
542 };
543
544 for (irradiance_volume, global_transform) in irradiance_volumes.iter() {
545 let Some(image) = image_assets.get(&irradiance_volume.voxels) else {
546 continue;
547 };
548
549 let resolution = image.texture_descriptor.size;
550
551 let voxel_cube_material = voxel_visualization_material_assets.add(ExtendedMaterial {
552 base: StandardMaterial::from(Color::from(RED)),
553 extension: VoxelVisualizationExtension {
554 irradiance_volume_info: VoxelVisualizationIrradianceVolumeInfo {
555 world_from_voxel: VOXEL_FROM_WORLD.inverse(),
556 voxel_from_world: VOXEL_FROM_WORLD,
557 resolution: uvec3(
558 resolution.width,
559 resolution.height,
560 resolution.depth_or_array_layers,
561 ),
562 intensity: IRRADIANCE_VOLUME_INTENSITY,
563 },
564 },
565 });
566
567 let scale = vec3(
568 1.0 / resolution.width as f32,
569 1.0 / resolution.height as f32,
570 1.0 / resolution.depth_or_array_layers as f32,
571 );
572
573 // Spawn a cube for each voxel.
574 for z in 0..resolution.depth_or_array_layers {
575 for y in 0..resolution.height {
576 for x in 0..resolution.width {
577 let uvw = (uvec3(x, y, z).as_vec3() + 0.5) * scale - 0.5;
578 let pos = global_transform.transform_point(uvw);
579 let voxel_cube = commands
580 .spawn((
581 Mesh3d(example_assets.voxel_cube.clone()),
582 MeshMaterial3d(voxel_cube_material.clone()),
583 Transform::from_scale(Vec3::splat(VOXEL_CUBE_SCALE))
584 .with_translation(pos),
585 ))
586 .insert(VoxelCube)
587 .insert(NotShadowCaster)
588 .id();
589
590 commands.entity(voxel_cube_parent).add_child(voxel_cube);
591 }
592 }
593 }
594 }
595}
Sourcepub fn mul_transform(&self, transform: Transform) -> GlobalTransform
pub fn mul_transform(&self, transform: Transform) -> GlobalTransform
Multiplies self
with transform
component by component, returning the
resulting GlobalTransform
Trait Implementations§
Source§impl Clone for GlobalTransform
impl Clone for GlobalTransform
Source§fn clone(&self) -> GlobalTransform
fn clone(&self) -> GlobalTransform
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Component for GlobalTransform
impl Component for GlobalTransform
Source§const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§type Mutability = Mutable
type Mutability = Mutable
Component<Mutability = Mutable>
],
while immutable components will instead have [Component<Mutability = Immutable>
]. Read moreSource§fn register_required_components(
requiree: ComponentId,
components: &mut ComponentsRegistrator<'_>,
required_components: &mut RequiredComponents,
inheritance_depth: u16,
recursion_check_stack: &mut Vec<ComponentId>,
)
fn register_required_components( requiree: ComponentId, components: &mut ComponentsRegistrator<'_>, required_components: &mut RequiredComponents, inheritance_depth: u16, recursion_check_stack: &mut Vec<ComponentId>, )
Source§fn on_insert() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
fn on_insert() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn clone_behavior() -> ComponentCloneBehavior
fn clone_behavior() -> ComponentCloneBehavior
Source§fn register_component_hooks(hooks: &mut ComponentHooks)
fn register_component_hooks(hooks: &mut ComponentHooks)
Component::on_add
, etc.)ComponentHooks
.Source§fn on_add() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
fn on_add() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn on_replace() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
fn on_replace() -> 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,
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§impl Debug for GlobalTransform
impl Debug for GlobalTransform
Source§impl Default for GlobalTransform
impl Default for GlobalTransform
Source§fn default() -> GlobalTransform
fn default() -> GlobalTransform
Source§impl<'de> Deserialize<'de> for GlobalTransform
impl<'de> Deserialize<'de> for GlobalTransform
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<GlobalTransform, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<GlobalTransform, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl From<Affine3A> for GlobalTransform
impl From<Affine3A> for GlobalTransform
Source§fn from(value: Affine3A) -> GlobalTransform
fn from(value: Affine3A) -> GlobalTransform
Source§impl From<GlobalTransform> for Transform
The transform is expected to be non-degenerate and without shearing, or the output
will be invalid.
impl From<GlobalTransform> for Transform
The transform is expected to be non-degenerate and without shearing, or the output will be invalid.
Source§fn from(transform: GlobalTransform) -> Transform
fn from(transform: GlobalTransform) -> Transform
Source§impl From<Mat4> for GlobalTransform
impl From<Mat4> for GlobalTransform
Source§fn from(world_from_local: Mat4) -> GlobalTransform
fn from(world_from_local: Mat4) -> GlobalTransform
Source§impl From<Transform> for GlobalTransform
impl From<Transform> for GlobalTransform
Source§fn from(transform: Transform) -> GlobalTransform
fn from(transform: Transform) -> GlobalTransform
Source§impl FromArg for &'static GlobalTransformwhere
GlobalTransform: Any + Send + Sync,
Affine3A: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl FromArg for &'static GlobalTransformwhere
GlobalTransform: Any + Send + Sync,
Affine3A: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§impl FromArg for &'static mut GlobalTransformwhere
GlobalTransform: Any + Send + Sync,
Affine3A: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl FromArg for &'static mut GlobalTransformwhere
GlobalTransform: Any + Send + Sync,
Affine3A: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§impl FromArg for GlobalTransformwhere
GlobalTransform: Any + Send + Sync,
Affine3A: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl FromArg for GlobalTransformwhere
GlobalTransform: Any + Send + Sync,
Affine3A: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§impl FromReflect for GlobalTransformwhere
GlobalTransform: Any + Send + Sync,
Affine3A: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl FromReflect for GlobalTransformwhere
GlobalTransform: Any + Send + Sync,
Affine3A: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn from_reflect(
reflect: &(dyn PartialReflect + 'static),
) -> Option<GlobalTransform>
fn from_reflect( reflect: &(dyn PartialReflect + 'static), ) -> Option<GlobalTransform>
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>>
Self
using,
constructing the value using from_reflect
if that fails. Read moreSource§impl GetOwnership for &GlobalTransformwhere
GlobalTransform: Any + Send + Sync,
Affine3A: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl GetOwnership for &GlobalTransformwhere
GlobalTransform: Any + Send + Sync,
Affine3A: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§impl GetOwnership for &mut GlobalTransformwhere
GlobalTransform: Any + Send + Sync,
Affine3A: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl GetOwnership for &mut GlobalTransformwhere
GlobalTransform: Any + Send + Sync,
Affine3A: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§impl GetOwnership for GlobalTransformwhere
GlobalTransform: Any + Send + Sync,
Affine3A: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl GetOwnership for GlobalTransformwhere
GlobalTransform: Any + Send + Sync,
Affine3A: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§impl GetTypeRegistration for GlobalTransformwhere
GlobalTransform: Any + Send + Sync,
Affine3A: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl GetTypeRegistration for GlobalTransformwhere
GlobalTransform: Any + Send + Sync,
Affine3A: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn get_type_registration() -> TypeRegistration
fn get_type_registration() -> TypeRegistration
TypeRegistration
for this type.Source§fn register_type_dependencies(registry: &mut TypeRegistry)
fn register_type_dependencies(registry: &mut TypeRegistry)
Source§impl IntoReturn for &GlobalTransformwhere
GlobalTransform: Any + Send + Sync,
Affine3A: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl IntoReturn for &GlobalTransformwhere
GlobalTransform: Any + Send + Sync,
Affine3A: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn into_return<'into_return>(self) -> Return<'into_return>where
&GlobalTransform: 'into_return,
fn into_return<'into_return>(self) -> Return<'into_return>where
&GlobalTransform: 'into_return,
Source§impl IntoReturn for &mut GlobalTransformwhere
GlobalTransform: Any + Send + Sync,
Affine3A: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl IntoReturn for &mut GlobalTransformwhere
GlobalTransform: Any + Send + Sync,
Affine3A: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn into_return<'into_return>(self) -> Return<'into_return>where
&mut GlobalTransform: 'into_return,
fn into_return<'into_return>(self) -> Return<'into_return>where
&mut GlobalTransform: 'into_return,
Source§impl IntoReturn for GlobalTransformwhere
GlobalTransform: Any + Send + Sync,
Affine3A: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl IntoReturn for GlobalTransformwhere
GlobalTransform: Any + Send + Sync,
Affine3A: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn into_return<'into_return>(self) -> Return<'into_return>where
GlobalTransform: 'into_return,
fn into_return<'into_return>(self) -> Return<'into_return>where
GlobalTransform: 'into_return,
Source§impl Mul<GlobalTransform> for Transform
impl Mul<GlobalTransform> for Transform
Source§type Output = GlobalTransform
type Output = GlobalTransform
*
operator.Source§fn mul(
self,
global_transform: GlobalTransform,
) -> <Transform as Mul<GlobalTransform>>::Output
fn mul( self, global_transform: GlobalTransform, ) -> <Transform as Mul<GlobalTransform>>::Output
*
operation. Read moreSource§impl Mul<Transform> for GlobalTransform
impl Mul<Transform> for GlobalTransform
Source§impl Mul<Vec3> for GlobalTransform
impl Mul<Vec3> for GlobalTransform
Source§impl Mul for GlobalTransform
impl Mul for GlobalTransform
Source§type Output = GlobalTransform
type Output = GlobalTransform
*
operator.Source§fn mul(
self,
global_transform: GlobalTransform,
) -> <GlobalTransform as Mul>::Output
fn mul( self, global_transform: GlobalTransform, ) -> <GlobalTransform as Mul>::Output
*
operation. Read moreSource§impl PartialEq for GlobalTransform
impl PartialEq for GlobalTransform
Source§impl PartialReflect for GlobalTransformwhere
GlobalTransform: Any + Send + Sync,
Affine3A: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl PartialReflect for GlobalTransformwhere
GlobalTransform: Any + Send + Sync,
Affine3A: 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
Source§fn reflect_ref(&self) -> ReflectRef<'_>
fn reflect_ref(&self) -> ReflectRef<'_>
Source§fn reflect_mut(&mut self) -> ReflectMut<'_>
fn reflect_mut(&mut self) -> ReflectMut<'_>
Source§fn reflect_owned(self: Box<GlobalTransform>) -> ReflectOwned
fn reflect_owned(self: Box<GlobalTransform>) -> ReflectOwned
Source§fn try_into_reflect(
self: Box<GlobalTransform>,
) -> Result<Box<dyn Reflect>, Box<dyn PartialReflect>>
fn try_into_reflect( self: Box<GlobalTransform>, ) -> Result<Box<dyn Reflect>, Box<dyn PartialReflect>>
Source§fn try_as_reflect(&self) -> Option<&(dyn Reflect + 'static)>
fn try_as_reflect(&self) -> Option<&(dyn Reflect + 'static)>
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)>
Source§fn into_partial_reflect(self: Box<GlobalTransform>) -> Box<dyn PartialReflect>
fn into_partial_reflect(self: Box<GlobalTransform>) -> Box<dyn PartialReflect>
Source§fn as_partial_reflect(&self) -> &(dyn PartialReflect + 'static)
fn as_partial_reflect(&self) -> &(dyn PartialReflect + 'static)
Source§fn as_partial_reflect_mut(&mut self) -> &mut (dyn PartialReflect + 'static)
fn as_partial_reflect_mut(&mut self) -> &mut (dyn PartialReflect + 'static)
Source§fn reflect_partial_eq(
&self,
value: &(dyn PartialReflect + 'static),
) -> Option<bool>
fn reflect_partial_eq( &self, value: &(dyn PartialReflect + 'static), ) -> Option<bool>
Source§fn debug(&self, f: &mut Formatter<'_>) -> Result<(), Error>
fn debug(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Source§fn reflect_clone(&self) -> Result<Box<dyn Reflect>, ReflectCloneError>
fn reflect_clone(&self) -> Result<Box<dyn Reflect>, ReflectCloneError>
Self
using reflection. Read moreSource§fn apply(&mut self, value: &(dyn PartialReflect + 'static))
fn apply(&mut self, value: &(dyn PartialReflect + 'static))
Source§fn clone_value(&self) -> Box<dyn PartialReflect>
fn clone_value(&self) -> Box<dyn PartialReflect>
reflect_clone
. To convert reflected values to dynamic ones, use to_dynamic
.Self
into its dynamic representation. Read moreSource§fn to_dynamic(&self) -> Box<dyn PartialReflect>
fn to_dynamic(&self) -> Box<dyn PartialReflect>
Source§fn reflect_hash(&self) -> Option<u64>
fn reflect_hash(&self) -> Option<u64>
Source§fn is_dynamic(&self) -> bool
fn is_dynamic(&self) -> bool
Source§impl Reflect for GlobalTransformwhere
GlobalTransform: Any + Send + Sync,
Affine3A: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl Reflect for GlobalTransformwhere
GlobalTransform: Any + Send + Sync,
Affine3A: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn into_any(self: Box<GlobalTransform>) -> Box<dyn Any>
fn into_any(self: Box<GlobalTransform>) -> Box<dyn Any>
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)
&mut dyn Any
. Read moreSource§fn into_reflect(self: Box<GlobalTransform>) -> Box<dyn Reflect>
fn into_reflect(self: Box<GlobalTransform>) -> Box<dyn Reflect>
Source§fn as_reflect(&self) -> &(dyn Reflect + 'static)
fn as_reflect(&self) -> &(dyn Reflect + 'static)
Source§fn as_reflect_mut(&mut self) -> &mut (dyn Reflect + 'static)
fn as_reflect_mut(&mut self) -> &mut (dyn Reflect + 'static)
Source§impl Serialize for GlobalTransform
impl Serialize for GlobalTransform
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Source§impl TransformPoint for GlobalTransform
impl TransformPoint for GlobalTransform
Source§impl TupleStruct for GlobalTransformwhere
GlobalTransform: Any + Send + Sync,
Affine3A: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl TupleStruct for GlobalTransformwhere
GlobalTransform: Any + Send + Sync,
Affine3A: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn field(&self, index: usize) -> Option<&(dyn PartialReflect + 'static)>
fn field(&self, index: usize) -> Option<&(dyn PartialReflect + 'static)>
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)>
index
as a &mut dyn Reflect
.Source§fn iter_fields(&self) -> TupleStructFieldIter<'_> ⓘ
fn iter_fields(&self) -> TupleStructFieldIter<'_> ⓘ
Source§fn to_dynamic_tuple_struct(&self) -> DynamicTupleStruct
fn to_dynamic_tuple_struct(&self) -> DynamicTupleStruct
DynamicTupleStruct
from this tuple struct.Source§fn clone_dynamic(&self) -> DynamicTupleStruct
fn clone_dynamic(&self) -> DynamicTupleStruct
to_dynamic_tuple_struct
insteadDynamicTupleStruct
.Source§fn get_represented_tuple_struct_info(&self) -> Option<&'static TupleStructInfo>
fn get_represented_tuple_struct_info(&self) -> Option<&'static TupleStructInfo>
None
if TypeInfo
is not available.Source§impl TypePath for GlobalTransform
impl TypePath for GlobalTransform
Source§fn type_path() -> &'static str
fn type_path() -> &'static str
Source§fn short_type_path() -> &'static str
fn short_type_path() -> &'static str
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 Typed for GlobalTransformwhere
GlobalTransform: Any + Send + Sync,
Affine3A: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl Typed for GlobalTransformwhere
GlobalTransform: Any + Send + Sync,
Affine3A: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl Copy for GlobalTransform
impl StructuralPartialEq for GlobalTransform
Auto Trait Implementations§
impl Freeze for GlobalTransform
impl RefUnwindSafe for GlobalTransform
impl Send for GlobalTransform
impl Sync for GlobalTransform
impl Unpin for GlobalTransform
impl UnwindSafe for GlobalTransform
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
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
Source§impl<C> Bundle for Cwhere
C: Component,
impl<C> Bundle for Cwhere
C: Component,
fn component_ids( components: &mut ComponentsRegistrator<'_>, ids: &mut impl FnMut(ComponentId), )
Source§fn register_required_components(
components: &mut ComponentsRegistrator<'_>,
required_components: &mut RequiredComponents,
)
fn register_required_components( components: &mut ComponentsRegistrator<'_>, required_components: &mut RequiredComponents, )
Bundle
.Source§fn get_component_ids(
components: &Components,
ids: &mut impl FnMut(Option<ComponentId>),
)
fn get_component_ids( components: &Components, ids: &mut impl FnMut(Option<ComponentId>), )
Source§impl<C> BundleFromComponents for Cwhere
C: Component,
impl<C> BundleFromComponents for Cwhere
C: Component,
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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>
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)
&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)
&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>
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>
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)
&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)
&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
Source§impl<C> DynamicBundle for Cwhere
C: Component,
impl<C> DynamicBundle for Cwhere
C: Component,
fn get_components( self, func: &mut impl FnMut(StorageType, OwningPtr<'_>), ) -> <C as DynamicBundle>::Effect
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
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>
TypePath::type_ident
.Source§fn reflect_crate_name(&self) -> Option<&str>
fn reflect_crate_name(&self) -> Option<&str>
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
Typed::type_info
.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,
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,
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,
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,
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,
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,
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,
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,
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>>
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>>
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,
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,
path
. Read moreSource§impl<S> GetTupleStructField for Swhere
S: TupleStruct,
impl<S> GetTupleStructField for Swhere
S: TupleStruct,
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> ⓘ
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> ⓘ
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<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<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,
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,
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,
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
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
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
self
, then passes self.deref()
into the pipe function.Source§impl<T> Pointable for T
impl<T> Pointable for T
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>
ReadEndian::read_from_little_endian()
.Source§impl<T> Serialize for T
impl<T> Serialize for T
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<(), Error>
fn do_erased_serialize( &self, serializer: &mut dyn Serializer, ) -> Result<(), ErrorImpl>
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
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
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
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
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
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
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
.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
.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
.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
.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
.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
.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
.tap_deref()
only in debug builds, and is erased in release
builds.