#[repr(C)]pub struct Mat3A {
pub x_axis: Vec3A,
pub y_axis: Vec3A,
pub z_axis: Vec3A,
}Expand description
A 3x3 column major matrix.
This 3x3 matrix type features convenience methods for creating and using linear and
affine transformations. If you are primarily dealing with 2D affine transformations the
Affine2 type is much faster and more space efficient than
using a 3x3 matrix.
Linear transformations including 3D rotation and scale can be created using methods
such as Self::from_diagonal(), Self::from_quat(), Self::from_axis_angle(),
Self::from_rotation_x(), Self::from_rotation_y(), or
Self::from_rotation_z().
The resulting matrices can be use to transform 3D vectors using regular vector multiplication.
Affine transformations including 2D translation, rotation and scale can be created
using methods such as Self::from_translation(), Self::from_angle(),
Self::from_scale() and Self::from_scale_angle_translation().
The Self::transform_point2() and Self::transform_vector2() convenience methods
are provided for performing affine transforms on 2D vectors and points. These multiply
2D inputs as 3D vectors with an implicit z value of 1 for points and 0 for
vectors respectively. These methods assume that Self contains a valid affine
transform.
SIMD vector types are used for storage on supported platforms.
This type is 16 byte aligned.
Fields§
§x_axis: Vec3A§y_axis: Vec3A§z_axis: Vec3AImplementations§
Source§impl Mat3A
impl Mat3A
Sourcepub const IDENTITY: Mat3A
pub const IDENTITY: Mat3A
A 3x3 identity matrix, where all diagonal elements are 1, and all off-diagonal elements are 0.
Sourcepub const fn from_cols(x_axis: Vec3A, y_axis: Vec3A, z_axis: Vec3A) -> Mat3A
pub const fn from_cols(x_axis: Vec3A, y_axis: Vec3A, z_axis: Vec3A) -> Mat3A
Creates a 3x3 matrix from three column vectors.
See also Self::from_rows when the data is in row major order.
Sourcepub const fn from_rows(row0: Vec3A, row1: Vec3A, row2: Vec3A) -> Mat3A
pub const fn from_rows(row0: Vec3A, row1: Vec3A, row2: Vec3A) -> Mat3A
Creates a 3x3 matrix from three row vectors.
Matrices are stored in column major order, so the given rows are permuted into
the matrix layout. Use Self::from_cols instead when the data is already in
column major order.
Sourcepub const fn from_cols_array(m: &[f32; 9]) -> Mat3A
pub const fn from_cols_array(m: &[f32; 9]) -> Mat3A
Creates a 3x3 matrix from a [f32; 9] array stored in column major order.
If the data is in row major order use Self::from_rows_array instead.
Sourcepub const fn to_cols_array(&self) -> [f32; 9]
pub const fn to_cols_array(&self) -> [f32; 9]
Creates a [f32; 9] array storing data in column major order.
If you require the data in row major order use Self::to_rows_array instead.
Sourcepub const fn from_cols_array_2d(m: &[[f32; 3]; 3]) -> Mat3A
pub const fn from_cols_array_2d(m: &[[f32; 3]; 3]) -> Mat3A
Creates a 3x3 matrix from a [[f32; 3]; 3] 3D array stored in column major order.
If the data is in row major order transpose the returned matrix.
Sourcepub const fn to_cols_array_2d(&self) -> [[f32; 3]; 3]
pub const fn to_cols_array_2d(&self) -> [[f32; 3]; 3]
Creates a [[f32; 3]; 3] 3D array storing data in column major order.
If you require row major order transpose the matrix first.
Sourcepub const fn from_rows_array(m: &[f32; 9]) -> Mat3A
pub const fn from_rows_array(m: &[f32; 9]) -> Mat3A
Creates a 3x3 matrix from a [f32; 9] array stored in row major order.
Matrices are stored in column major order, so the array is permuted into the
matrix layout. Use Self::from_cols_array instead when the data is already in
column major order.
Sourcepub const fn to_rows_array(&self) -> [f32; 9]
pub const fn to_rows_array(&self) -> [f32; 9]
Creates a [f32; 9] array storing data in row major order.
Matrices are stored in column major order, so the array is permuted out of the
column major storage. Use Self::to_cols_array instead when you want data in
column major order.
Sourcepub const fn from_diagonal(diagonal: Vec3) -> Mat3A
pub const fn from_diagonal(diagonal: Vec3) -> Mat3A
Creates a 3x3 matrix with its diagonal set to diagonal and all other entries set to 0.
Sourcepub fn from_mat4(m: Mat4) -> Mat3A
pub fn from_mat4(m: Mat4) -> Mat3A
Creates a 3x3 matrix from a 4x4 matrix, discarding the 4th row and column.
Sourcepub fn from_mat4_minor(m: Mat4, i: usize, j: usize) -> Mat3A
pub fn from_mat4_minor(m: Mat4, i: usize, j: usize) -> Mat3A
Creates a 3x3 matrix from the minor of the given 4x4 matrix, discarding the ith column
and jth row.
§Panics
Panics if i or j is greater than 3.
Sourcepub fn from_quat(rotation: Quat) -> Mat3A
pub fn from_quat(rotation: Quat) -> Mat3A
Creates a 3D rotation matrix from the given quaternion.
§Panics
Will panic if rotation is not normalized when glam_assert is enabled.
Sourcepub fn from_axis_angle(axis: Vec3, angle: f32) -> Mat3A
pub fn from_axis_angle(axis: Vec3, angle: f32) -> Mat3A
Creates a 3D rotation matrix from a normalized rotation axis and angle (in
radians).
§Panics
Will panic if axis is not normalized when glam_assert is enabled.
Sourcepub fn from_euler(order: EulerRot, a: f32, b: f32, c: f32) -> Mat3A
pub fn from_euler(order: EulerRot, a: f32, b: f32, c: f32) -> Mat3A
Creates a 3D rotation matrix from the given euler rotation sequence and the angles (in radians).
Sourcepub fn to_euler(&self, order: EulerRot) -> (f32, f32, f32)
pub fn to_euler(&self, order: EulerRot) -> (f32, f32, f32)
Extract Euler angles with the given Euler rotation order.
Note if the input matrix contains scales, shears, or other non-rotation transformations then the resulting Euler angles will be ill-defined.
§Panics
Will panic if any input matrix column is not normalized when glam_assert is enabled.
Sourcepub fn from_rotation_x(angle: f32) -> Mat3A
pub fn from_rotation_x(angle: f32) -> Mat3A
Creates a 3D rotation matrix from angle (in radians) around the x axis.
Sourcepub fn from_rotation_y(angle: f32) -> Mat3A
pub fn from_rotation_y(angle: f32) -> Mat3A
Creates a 3D rotation matrix from angle (in radians) around the y axis.
Sourcepub fn from_rotation_z(angle: f32) -> Mat3A
pub fn from_rotation_z(angle: f32) -> Mat3A
Creates a 3D rotation matrix from angle (in radians) around the z axis.
Sourcepub fn from_translation(translation: Vec2) -> Mat3A
pub fn from_translation(translation: Vec2) -> Mat3A
Creates an affine transformation matrix from the given 2D translation.
The resulting matrix can be used to transform 2D points and vectors. See
Self::transform_point2() and Self::transform_vector2().
Sourcepub fn from_angle(angle: f32) -> Mat3A
pub fn from_angle(angle: f32) -> Mat3A
Creates an affine transformation matrix from the given 2D rotation angle (in
radians).
The resulting matrix can be used to transform 2D points and vectors. See
Self::transform_point2() and Self::transform_vector2().
Sourcepub fn from_scale_angle_translation(
scale: Vec2,
angle: f32,
translation: Vec2,
) -> Mat3A
pub fn from_scale_angle_translation( scale: Vec2, angle: f32, translation: Vec2, ) -> Mat3A
Creates an affine transformation matrix from the given 2D scale, rotation angle (in
radians) and translation.
The resulting matrix can be used to transform 2D points and vectors. See
Self::transform_point2() and Self::transform_vector2().
Sourcepub fn from_scale(scale: Vec2) -> Mat3A
pub fn from_scale(scale: Vec2) -> Mat3A
Creates an affine transformation matrix from the given non-uniform 2D scale.
The resulting matrix can be used to transform 2D points and vectors. See
Self::transform_point2() and Self::transform_vector2().
§Panics
Will panic if all elements of scale are zero when glam_assert is enabled.
Sourcepub fn from_mat2(m: Mat2) -> Mat3A
pub fn from_mat2(m: Mat2) -> Mat3A
Creates an affine transformation matrix from the given 2x2 matrix.
The resulting matrix can be used to transform 2D points and vectors. See
Self::transform_point2() and Self::transform_vector2().
Sourcepub const fn from_cols_slice(slice: &[f32]) -> Mat3A
pub const fn from_cols_slice(slice: &[f32]) -> Mat3A
Creates a 3x3 matrix from the first 9 values in slice.
See also Self::from_rows_slice when the slice is in row major order.
§Panics
Panics if slice is less than 9 elements long.
Sourcepub fn write_cols_to_slice(&self, slice: &mut [f32])
pub fn write_cols_to_slice(&self, slice: &mut [f32])
Writes the columns of self to the first 9 elements in slice.
§Panics
Panics if slice is less than 9 elements long.
Sourcepub const fn from_rows_slice(slice: &[f32]) -> Mat3A
pub const fn from_rows_slice(slice: &[f32]) -> Mat3A
Creates a 3x3 matrix from the first 9 values in slice, stored in row
major order.
Matrices are stored in column major order, so the slice is permuted into the
matrix layout. Use Self::from_cols_slice instead when the slice is already in
column major order.
§Panics
Panics if slice is less than 9 elements long.
Sourcepub fn col_mut(&mut self, index: usize) -> &mut Vec3A
pub fn col_mut(&mut self, index: usize) -> &mut Vec3A
Returns a mutable reference to the matrix column for the given index.
§Panics
Panics if index is greater than 2.
Sourcepub fn row(&self, index: usize) -> Vec3A
pub fn row(&self, index: usize) -> Vec3A
Returns the matrix row for the given index.
See also Self::set_row when you need to change the row.
§Panics
Panics if index is greater than 2.
Sourcepub fn set_row(&mut self, index: usize, row: Vec3A)
pub fn set_row(&mut self, index: usize, row: Vec3A)
Sets the matrix row for the given index.
Matrices are stored in column major order, so the row is spread across all
3 columns and writing it touches every column. Use Self::col_mut
instead when you can work with columns. See also Self::row.
§Panics
Panics if index is greater than 2.
Sourcepub fn is_finite(&self) -> bool
pub fn is_finite(&self) -> bool
Returns true if, and only if, all elements are finite.
If any element is either NaN, positive or negative infinity, this will return false.
Sourcepub fn determinant(&self) -> f32
pub fn determinant(&self) -> f32
Returns the determinant of self.
Sourcepub fn inverse(&self) -> Mat3A
pub fn inverse(&self) -> Mat3A
Returns the inverse of self.
If the matrix is not invertible the returned matrix will be invalid. The
returned matrix will also be invalid if the inverse is not finite, which can
happen when self contains very large or very small values. Use
Self::try_inverse or Self::inverse_or_zero to detect these cases.
§Panics
Will panic if the resulting inverted matrix is not finite when glam_assert
is enabled.
Examples found in repository?
341fn calculate_mirror_camera_transform_and_projection(
342 main_camera_transform: &Transform,
343 main_camera_projection: &PerspectiveProjection,
344 mirror_transform: &Transform,
345) -> (Transform, PerspectiveProjection) {
346 // Calculate the reflection matrix (a.k.a. Householder matrix) that will
347 // reflect the scene across the mirror plane.
348 //
349 // Note that you must calculate this in *matrix* form and only *afterward*
350 // convert to a `Transform` instead of composing `Transform`s. This is
351 // because the reflection matrix has non-uniform scale, and composing
352 // transforms can't always handle composition of matrices with non-uniform
353 // scales.
354 let mirror_camera_transform = Transform::from_matrix(
355 Mat4::from_mat3a(reflection_matrix(Vec3::NEG_Z)) * main_camera_transform.to_matrix(),
356 );
357
358 // Compute the distance from the camera to the mirror plane. This will be
359 // used to calculate the distance to the near clip plane for the mirror
360 // world.
361 let distance_from_camera_to_mirror = InfinitePlane3d::new(mirror_transform.rotation * Vec3::Y)
362 .signed_distance(
363 Isometry3d::IDENTITY,
364 mirror_transform.translation - main_camera_transform.translation,
365 );
366
367 // Compute the normal of the mirror plane in view space.
368 let view_from_world = main_camera_transform.compute_affine().matrix3.inverse();
369 let mirror_projection_plane_normal =
370 (view_from_world * (mirror_transform.rotation * Vec3::NEG_Y)).normalize();
371
372 // Compute the final projection. It should match the main camera projection,
373 // except that `near` and `near_normal` should be set to the updated near
374 // plane and near normal plane as above.
375 let mirror_camera_projection = PerspectiveProjection {
376 near_clip_plane: mirror_projection_plane_normal.extend(distance_from_camera_to_mirror),
377 ..*main_camera_projection
378 };
379
380 (mirror_camera_transform, mirror_camera_projection)
381}Sourcepub fn try_inverse(&self) -> Option<Mat3A>
pub fn try_inverse(&self) -> Option<Mat3A>
Returns the inverse of self or None if the matrix is not invertible, or if
the inverse is not finite.
Sourcepub fn inverse_or_zero(&self) -> Mat3A
pub fn inverse_or_zero(&self) -> Mat3A
Returns the inverse of self or Mat3A::ZERO if the matrix is not
invertible, or if the inverse is not finite.
Sourcepub fn transform_point2(&self, rhs: Vec2) -> Vec2
pub fn transform_point2(&self, rhs: Vec2) -> Vec2
Transforms the given 2D vector as a point.
This is the equivalent of multiplying rhs as a 3D vector where z is 1.
This method assumes that self contains a valid affine transform.
§Panics
Will panic if the 2nd row of self is not (0, 0, 1) when glam_assert is enabled.
Sourcepub fn transform_vector2(&self, rhs: Vec2) -> Vec2
pub fn transform_vector2(&self, rhs: Vec2) -> Vec2
Rotates the given 2D vector.
This is the equivalent of multiplying rhs as a 3D vector where z is 0.
This method assumes that self contains a valid affine transform.
§Panics
Will panic if the 2nd row of self is not (0, 0, 1) when glam_assert is enabled.
Sourcepub fn look_to_lh(dir: Vec3, up: Vec3) -> Mat3A
👎Deprecated since 0.33.1: use the glam::camera::lh::view::look_to_mat3 function instead
pub fn look_to_lh(dir: Vec3, up: Vec3) -> Mat3A
use the glam::camera::lh::view::look_to_mat3 function instead
Creates a left-handed view matrix using a facing direction and an up direction.
For a view coordinate system with +X=right, +Y=up and +Z=forward.
§Panics
Will panic if dir or up are not normalized, or if dir and up are parallel,
when glam_assert is enabled.
Sourcepub fn look_to_rh(dir: Vec3, up: Vec3) -> Mat3A
👎Deprecated since 0.33.1: use the glam::camera::rh::view::look_to_mat3 function instead
pub fn look_to_rh(dir: Vec3, up: Vec3) -> Mat3A
use the glam::camera::rh::view::look_to_mat3 function instead
Creates a right-handed view matrix using a facing direction and an up direction.
For a view coordinate system with +X=right, +Y=up and +Z=back.
§Panics
Will panic if dir or up are not normalized, or if dir and up are parallel,
when glam_assert is enabled.
Sourcepub fn look_at_lh(eye: Vec3, center: Vec3, up: Vec3) -> Mat3A
👎Deprecated since 0.33.1: use the glam::camera::lh::view::look_at_mat3 function instead
pub fn look_at_lh(eye: Vec3, center: Vec3, up: Vec3) -> Mat3A
use the glam::camera::lh::view::look_at_mat3 function instead
Creates a left-handed view matrix using a camera position, a focal point and an up direction.
For a view coordinate system with +X=right, +Y=up and +Z=forward.
§Panics
Will panic if up is not normalized, if center is equal to eye, or if the view
direction is parallel to up, when glam_assert is enabled.
Sourcepub fn look_at_rh(eye: Vec3, center: Vec3, up: Vec3) -> Mat3A
👎Deprecated since 0.33.1: use the glam::camera::rh::view::look_at_mat3 function instead
pub fn look_at_rh(eye: Vec3, center: Vec3, up: Vec3) -> Mat3A
use the glam::camera::rh::view::look_at_mat3 function instead
Creates a right-handed view matrix using a camera position, a focal point and an up direction.
For a view coordinate system with +X=right, +Y=up and +Z=back.
§Panics
Will panic if up is not normalized, if center is equal to eye, or if the view
direction is parallel to up, when glam_assert is enabled.
Sourcepub fn mul_transpose_vec3(&self, rhs: Vec3) -> Vec3
pub fn mul_transpose_vec3(&self, rhs: Vec3) -> Vec3
Transforms a 3D vector by the transpose of self.
Sourcepub fn mul_transpose_vec3a(&self, rhs: Vec3A) -> Vec3A
pub fn mul_transpose_vec3a(&self, rhs: Vec3A) -> Vec3A
Transforms a Vec3A by the transpose of self.
Sourcepub fn mul_scalar(&self, rhs: f32) -> Mat3A
pub fn mul_scalar(&self, rhs: f32) -> Mat3A
Multiplies a 3x3 matrix by a scalar.
Sourcepub fn mul_diagonal_scale(&self, scale: Vec3) -> Mat3A
pub fn mul_diagonal_scale(&self, scale: Vec3) -> Mat3A
Multiply self by a scaling vector scale.
This is faster than creating a whole diagonal scaling matrix and then multiplying that.
This operation is commutative.
Sourcepub fn div_scalar(&self, rhs: f32) -> Mat3A
pub fn div_scalar(&self, rhs: f32) -> Mat3A
Divides a 3x3 matrix by a scalar.
Sourcepub fn recip(&self) -> Mat3A
pub fn recip(&self) -> Mat3A
Returns a matrix containing the reciprocal 1.0/n of each element of self.
Sourcepub fn abs_diff_eq(&self, rhs: Mat3A, max_abs_diff: f32) -> bool
pub fn abs_diff_eq(&self, rhs: Mat3A, max_abs_diff: f32) -> bool
Returns true if the absolute difference of all elements between self and rhs
is less than or equal to max_abs_diff.
This can be used to compare if two matrices contain similar elements. It works best
when comparing with a known value. The max_abs_diff that should be used used
depends on the values being compared against.
For more see comparing floating point numbers.
pub fn as_dmat3(&self) -> DMat3
f64 only.Trait Implementations§
Source§impl AbsDiffEq for Mat3A
impl AbsDiffEq for Mat3A
Source§fn default_epsilon() -> <Mat3A as AbsDiffEq>::Epsilon
fn default_epsilon() -> <Mat3A as AbsDiffEq>::Epsilon
Source§fn abs_diff_eq(
&self,
other: &Mat3A,
epsilon: <Mat3A as AbsDiffEq>::Epsilon,
) -> bool
fn abs_diff_eq( &self, other: &Mat3A, epsilon: <Mat3A as AbsDiffEq>::Epsilon, ) -> bool
Source§fn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool
fn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool
AbsDiffEq::abs_diff_eq.Source§impl AddAssign for Mat3A
impl AddAssign for Mat3A
Source§fn add_assign(&mut self, rhs: Mat3A)
fn add_assign(&mut self, rhs: Mat3A)
+= operation. Read moreSource§impl AddAssign<&Mat3A> for Mat3A
impl AddAssign<&Mat3A> for Mat3A
Source§fn add_assign(&mut self, rhs: &Mat3A)
fn add_assign(&mut self, rhs: &Mat3A)
+= operation. Read moreimpl Copy for Mat3A
Source§impl<'de> Deserialize<'de> for Mat3A
Deserialize expects a sequence of 9 values.
impl<'de> Deserialize<'de> for Mat3A
Deserialize expects a sequence of 9 values.
Source§fn deserialize<D>(
deserializer: D,
) -> Result<Mat3A, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<Mat3A, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Source§impl DivAssign<&f32> for Mat3A
impl DivAssign<&f32> for Mat3A
Source§fn div_assign(&mut self, rhs: &f32)
fn div_assign(&mut self, rhs: &f32)
/= operation. Read moreSource§impl DivAssign<f32> for Mat3A
impl DivAssign<f32> for Mat3A
Source§fn div_assign(&mut self, rhs: f32)
fn div_assign(&mut self, rhs: f32)
/= operation. Read moreSource§impl FromReflect for Mat3A
impl FromReflect for Mat3A
Source§fn from_reflect(reflect: &(dyn PartialReflect + 'static)) -> Option<Mat3A>
fn from_reflect(reflect: &(dyn PartialReflect + 'static)) -> Option<Mat3A>
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 GetTypeRegistration for Mat3A
impl GetTypeRegistration for Mat3A
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 Mat3A
impl IntoReturn for Mat3A
Source§impl MulAssign for Mat3A
impl MulAssign for Mat3A
Source§fn mul_assign(&mut self, rhs: Mat3A)
fn mul_assign(&mut self, rhs: Mat3A)
*= operation. Read moreSource§impl MulAssign<&Affine2> for Mat3A
impl MulAssign<&Affine2> for Mat3A
Source§fn mul_assign(&mut self, rhs: &Affine2)
fn mul_assign(&mut self, rhs: &Affine2)
*= operation. Read moreSource§impl MulAssign<&Mat3A> for Mat3A
impl MulAssign<&Mat3A> for Mat3A
Source§fn mul_assign(&mut self, rhs: &Mat3A)
fn mul_assign(&mut self, rhs: &Mat3A)
*= operation. Read moreSource§impl MulAssign<&f32> for Mat3A
impl MulAssign<&f32> for Mat3A
Source§fn mul_assign(&mut self, rhs: &f32)
fn mul_assign(&mut self, rhs: &f32)
*= operation. Read moreSource§impl MulAssign<Affine2> for Mat3A
impl MulAssign<Affine2> for Mat3A
Source§fn mul_assign(&mut self, rhs: Affine2)
fn mul_assign(&mut self, rhs: Affine2)
*= operation. Read moreSource§impl MulAssign<f32> for Mat3A
impl MulAssign<f32> for Mat3A
Source§fn mul_assign(&mut self, rhs: f32)
fn mul_assign(&mut self, rhs: f32)
*= operation. Read moreSource§impl PartialReflect for Mat3A
impl PartialReflect for Mat3A
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<Mat3A>) -> ReflectOwned
fn reflect_owned(self: Box<Mat3A>) -> ReflectOwned
Source§fn try_into_reflect(
self: Box<Mat3A>,
) -> Result<Box<dyn Reflect>, Box<dyn PartialReflect>>
fn try_into_reflect( self: Box<Mat3A>, ) -> 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<Mat3A>) -> Box<dyn PartialReflect>
fn into_partial_reflect(self: Box<Mat3A>) -> 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 reflect_partial_cmp(
&self,
value: &(dyn PartialReflect + 'static),
) -> Option<Ordering>
fn reflect_partial_cmp( &self, value: &(dyn PartialReflect + 'static), ) -> Option<Ordering>
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 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>
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>
Source§fn is_dynamic(&self) -> bool
fn is_dynamic(&self) -> bool
impl Pod for Mat3A
Source§impl Reflect for Mat3A
impl Reflect for Mat3A
Source§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<Mat3A>) -> Box<dyn Reflect>
fn into_reflect(self: Box<Mat3A>) -> 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 RelativeEq for Mat3A
impl RelativeEq for Mat3A
Source§fn default_max_relative() -> <Mat3A as AbsDiffEq>::Epsilon
fn default_max_relative() -> <Mat3A as AbsDiffEq>::Epsilon
Source§fn relative_eq(
&self,
other: &Mat3A,
epsilon: <Mat3A as AbsDiffEq>::Epsilon,
max_relative: <Mat3A as AbsDiffEq>::Epsilon,
) -> bool
fn relative_eq( &self, other: &Mat3A, epsilon: <Mat3A as AbsDiffEq>::Epsilon, max_relative: <Mat3A as AbsDiffEq>::Epsilon, ) -> bool
Source§fn relative_ne(
&self,
other: &Rhs,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon,
) -> bool
fn relative_ne( &self, other: &Rhs, epsilon: Self::Epsilon, max_relative: Self::Epsilon, ) -> bool
RelativeEq::relative_eq.Source§impl Serialize for Mat3A
Serialize as a sequence of 9 values.
impl Serialize for Mat3A
Serialize as a sequence of 9 values.
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 Struct for Mat3A
impl Struct for Mat3A
Source§fn field(&self, name: &str) -> Option<&(dyn PartialReflect + 'static)>
fn field(&self, name: &str) -> Option<&(dyn PartialReflect + 'static)>
name as a &dyn PartialReflect.Source§fn field_mut(
&mut self,
name: &str,
) -> Option<&mut (dyn PartialReflect + 'static)>
fn field_mut( &mut self, name: &str, ) -> Option<&mut (dyn PartialReflect + 'static)>
name as a
&mut dyn PartialReflect.Source§fn field_at(&self, index: usize) -> Option<&(dyn PartialReflect + 'static)>
fn field_at(&self, index: usize) -> Option<&(dyn PartialReflect + 'static)>
index as a
&dyn PartialReflect.Source§fn field_at_mut(
&mut self,
index: usize,
) -> Option<&mut (dyn PartialReflect + 'static)>
fn field_at_mut( &mut self, index: usize, ) -> Option<&mut (dyn PartialReflect + 'static)>
index
as a &mut dyn PartialReflect.Source§fn index_of_name(&self, name: &str) -> Option<usize>
fn index_of_name(&self, name: &str) -> Option<usize>
Source§fn iter_fields(&self) -> FieldIter<'_> ⓘ
fn iter_fields(&self) -> FieldIter<'_> ⓘ
Source§fn to_dynamic_struct(&self) -> Result<DynamicStruct, ReflectCloneError>
fn to_dynamic_struct(&self) -> Result<DynamicStruct, ReflectCloneError>
DynamicStruct from this struct. Read moreSource§fn get_represented_struct_info(&self) -> Option<&'static StructInfo>
fn get_represented_struct_info(&self) -> Option<&'static StructInfo>
None if TypeInfo is not available.Source§impl SubAssign for Mat3A
impl SubAssign for Mat3A
Source§fn sub_assign(&mut self, rhs: Mat3A)
fn sub_assign(&mut self, rhs: Mat3A)
-= operation. Read moreSource§impl SubAssign<&Mat3A> for Mat3A
impl SubAssign<&Mat3A> for Mat3A
Source§fn sub_assign(&mut self, rhs: &Mat3A)
fn sub_assign(&mut self, rhs: &Mat3A)
-= operation. Read moreSource§impl TypePath for Mat3A
impl TypePath for Mat3A
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 UlpsEq for Mat3A
impl UlpsEq for Mat3A
Source§fn default_max_ulps() -> u32
fn default_max_ulps() -> u32
Auto Trait Implementations§
impl Freeze for Mat3A
impl RefUnwindSafe for Mat3A
impl Send for Mat3A
impl Sync for Mat3A
impl Unpin for Mat3A
impl UnsafeUnpin for Mat3A
impl UnwindSafe for Mat3A
Blanket Implementations§
impl<T> AnyBitPattern for Twhere
T: Pod,
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
impl<T> Brush for T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
Source§type Bits = T
type Bits = T
Self must have the same layout as the specified Bits except for
the possible invalid bit patterns being checked during
is_valid_bit_pattern.Source§fn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
bits
as &Self.Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ConditionalSend for Twhere
T: Send,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
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.impl<T> ErasedDestructor for Twhere
T: 'static,
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> FromTemplate for T
impl<T> FromTemplate for T
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<S> GetField for Swhere
S: Struct,
impl<S> GetField for Swhere
S: Struct,
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<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
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> ⓘ
impl<T> Interleave for Twhere
T: Pod,
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<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>
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
impl<T> NoUninit for Twhere
T: Pod,
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>
func, and turns it into a TemplatePatch.Source§impl<T> PatchTemplate for Twhere
T: Template,
impl<T> PatchTemplate for Twhere
T: Template,
Source§fn patch_template<F>(func: F) -> TemplatePatch<F, T>
fn patch_template<F>(func: F) -> TemplatePatch<F, 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.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>
ReadEndian::read_from_little_endian().impl<T> Reflectable for T
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>
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
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
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.Source§impl<T> Template for T
impl<T> Template for T
Source§fn build_template(
&self,
_context: &mut TemplateContext<'_, '_>,
) -> Result<<T as Template>::Output, BevyError>
fn build_template( &self, _context: &mut TemplateContext<'_, '_>, ) -> Result<<T as Template>::Output, BevyError>
entity context to produce a Template::Output.Source§fn clone_template(&self) -> T
fn clone_template(&self) -> T
Clone.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>
self.