pub struct ComputedAngularInertia { /* private fields */ }Expand description
The total local angular inertia computed for a dynamic rigid body as a 3x3 tensor matrix, taking into account colliders and descendants. Represents resistance to angular acceleration.
The total angular inertia is computed as the sum of the inertias of all attached colliders
and the angular inertia of the rigid body entity itself, taking into account offsets from the center of mass.
The angular inertia of an entity is determined by its AngularInertia component, or if it is not present,
from an attached Collider based on its shape and mass.
This is computed in local space, so the object’s orientation is not taken into account.
The world-space version can be computed using the associated rotated method.
To manually compute the world-space version that takes the body’s rotation into account,
use the associated rotated method.
A total angular inertia of zero is a special case, and is interpreted as infinite angular inertia, meaning the rigid body will not be affected by any torques.
§Representation
Internally, the angular inertia is actually stored as the inverse angular inertia tensor angular_inertia_matrix.inverse().
This is because most physics calculations operate on the inverse angular inertia, and storing it directly
allows for fewer inversions and guards against division by zero.
When using ComputedAngularInertia, you shouldn’t need to worry about this internal representation.
The provided constructors and getters abstract away the implementation details.
In terms of performance, the main thing to keep in mind is that inverse is a no-op
and value contains an inversion. When multiplying by the inverse angular inertia, it’s better to use
angular_inertia.inverse() * foo than angular_inertia.value().inverse() * foo.
§Related Types
AngularInertiacan be used to set the local angular inertia associated with an individual entity.ComputedMassstores the total mass of a rigid body, taking into account colliders and descendants.ComputedCenterOfMassstores the total center of mass of a rigid body, taking into account colliders and descendants.MassPropertyHelperis aSystemParamwith utilities for computing and updating mass properties.
Implementations§
Source§impl ComputedAngularInertia
impl ComputedAngularInertia
Sourcepub fn new(principal_angular_inertia: Vector) -> Self
pub fn new(principal_angular_inertia: Vector) -> Self
Creates a new ComputedAngularInertia from the given principal angular inertia.
The principal angular inertia represents the torque needed for a desired angular acceleration about the local coordinate axes.
Note that this involves an invertion because ComputedAngularInertia internally stores the inverse angular inertia.
To specify the orientation of the local inertial frame, consider using ComputedAngularInertia::new_with_local_frame.
§Panics
Panics if any component of the principal angular inertia is negative or NaN when debug_assertions are enabled.
Sourcepub fn try_new(
principal_angular_inertia: Vector,
) -> Result<Self, AngularInertiaError>
pub fn try_new( principal_angular_inertia: Vector, ) -> Result<Self, AngularInertiaError>
Tries to create a new ComputedAngularInertia from the given principal angular inertia.
The principal angular inertia represents the torque needed for a desired angular acceleration
about the local coordinate axes. To specify the orientation of the local inertial frame,
consider using ComputedAngularInertia::try_new_with_local_frame.
Note that this involves an invertion because ComputedAngularInertia internally stores the inverse angular inertia.
§Errors
Returns Err(AngularInertiaError) if any component of the principal angular inertia is negative or NaN.
Sourcepub fn new_with_local_frame(
principal_angular_inertia: Vector,
orientation: Quaternion,
) -> Self
pub fn new_with_local_frame( principal_angular_inertia: Vector, orientation: Quaternion, ) -> Self
Creates a new ComputedAngularInertia from the given principal angular inertia
and the orientation of the local inertial frame.
The principal angular inertia represents the torque needed for a desired angular acceleration
about the local coordinate axes defined by the given orientation.
Note that this involves an invertion because ComputedAngularInertia internally stores the inverse angular inertia.
§Panics
Panics if any component of the principal angular inertia is negative or NaN when debug_assertions are enabled.
Sourcepub fn try_new_with_local_frame(
principal_angular_inertia: Vector,
orientation: Quaternion,
) -> Result<Self, AngularInertiaError>
pub fn try_new_with_local_frame( principal_angular_inertia: Vector, orientation: Quaternion, ) -> Result<Self, AngularInertiaError>
Tries to create a new ComputedAngularInertia from the given principal angular inertia
and the orientation of the local inertial frame.
The principal angular inertia represents the torque needed for a desired angular acceleration
about the local coordinate axes defined by the given orientation.
Note that this involves an invertion because ComputedAngularInertia internally stores the inverse angular inertia.
§Errors
Returns Err(AngularInertiaError) if any component of the principal angular inertia is negative or NaN.
Sourcepub fn from_tensor(tensor: SymmetricMatrix) -> Self
pub fn from_tensor(tensor: SymmetricMatrix) -> Self
Creates a new ComputedAngularInertia from the given angular inertia tensor.
The tensor should be symmetric and positive definite.
Note that this involves an invertion because ComputedAngularInertia internally stores the inverse angular inertia.
Sourcepub fn from_inverse_tensor(inverse_tensor: SymmetricMatrix) -> Self
pub fn from_inverse_tensor(inverse_tensor: SymmetricMatrix) -> Self
Creates a new ComputedAngularInertia from the given inverse angular inertia tensor.
The tensor should be symmetric and positive definite.
Sourcepub fn value(self) -> SymmetricMatrix
pub fn value(self) -> SymmetricMatrix
Returns the angular inertia tensor. If it is infinite, returns zero.
Note that this involves an invertion because ComputedAngularInertia internally stores the inverse angular inertia.
If multiplying by the inverse angular inertia, consider using angular_inertia.inverse() * foo
instead of angular_inertia.value().inverse() * foo.
Equivalent to ComputedAngularInertia::tensor.
Sourcepub fn inverse(self) -> SymmetricMatrix
pub fn inverse(self) -> SymmetricMatrix
Returns the inverse of the angular inertia tensor.
Note that this is a no-op because ComputedAngularInertia internally stores the inverse angular inertia.
Equivalent to ComputedAngularInertia::inverse_tensor.
Sourcepub fn tensor(self) -> SymmetricMatrix
pub fn tensor(self) -> SymmetricMatrix
Returns the angular inertia tensor.
Note that this involves an invertion because ComputedAngularInertia internally stores the inverse angular inertia.
If multiplying by the inverse angular inertia, consider using angular_inertia.inverse() * foo
instead of angular_inertia.value().inverse() * foo.
Sourcepub fn inverse_tensor(self) -> SymmetricMatrix
pub fn inverse_tensor(self) -> SymmetricMatrix
Returns the inverse of the angular inertia tensor.
Note that this is a no-op because ComputedAngularInertia internally stores the inverse angular inertia.
Sourcepub fn inverse_tensor_mut(&mut self) -> &mut SymmetricMatrix
pub fn inverse_tensor_mut(&mut self) -> &mut SymmetricMatrix
Returns a mutable reference to the inverse of the angular inertia tensor.
Note that this is a no-op because ComputedAngularInertia internally stores the inverse angular inertia.
Sourcepub fn set(&mut self, angular_inertia: impl Into<ComputedAngularInertia>)
pub fn set(&mut self, angular_inertia: impl Into<ComputedAngularInertia>)
Sets the angular inertia tensor.
Sourcepub fn principal_angular_inertia_with_local_frame(&self) -> (Vector, Quaternion)
pub fn principal_angular_inertia_with_local_frame(&self) -> (Vector, Quaternion)
Computes the principal angular inertia and local inertial frame by diagonalizing the 3x3 tensor matrix.
The principal angular inertia represents the torque needed for a desired angular acceleration about the local coordinate axes defined by the local inertial frame.
Sourcepub fn rotated(self, rotation: Quaternion) -> Self
pub fn rotated(self, rotation: Quaternion) -> Self
Computes the angular inertia tensor with the given rotation.
This can be used to transform local angular inertia to world space.
Sourcepub fn shifted_tensor(&self, mass: Scalar, offset: Vector) -> SymmetricMatrix3
pub fn shifted_tensor(&self, mass: Scalar, offset: Vector) -> SymmetricMatrix3
Computes the angular inertia tensor shifted by the given offset, taking into account the given mass.
Sourcepub fn shifted_inverse_tensor(
&self,
mass: Scalar,
offset: Vector,
) -> SymmetricMatrix3
pub fn shifted_inverse_tensor( &self, mass: Scalar, offset: Vector, ) -> SymmetricMatrix3
Computes the inverse angular inertia tensor shifted by the given offset, taking into account the given mass.
Sourcepub fn is_finite(self) -> bool
pub fn is_finite(self) -> bool
Returns true if the angular inertia is neither infinite nor NaN.
Sourcepub fn is_infinite(self) -> bool
pub fn is_infinite(self) -> bool
Returns true if the angular inertia is positive infinity or negative infinity.
Trait Implementations§
Source§impl Clone for ComputedAngularInertia
impl Clone for ComputedAngularInertia
Source§fn clone(&self) -> ComputedAngularInertia
fn clone(&self) -> ComputedAngularInertia
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Component for ComputedAngularInertia
impl Component for ComputedAngularInertia
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,
required_components: &mut RequiredComponentsRegistrator<'_, '_>,
)
fn register_required_components( _requiree: ComponentId, required_components: &mut RequiredComponentsRegistrator<'_, '_>, )
Source§fn clone_behavior() -> ComponentCloneBehavior
fn clone_behavior() -> ComponentCloneBehavior
Source§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_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 ComputedAngularInertia
impl Debug for ComputedAngularInertia
Source§impl Default for ComputedAngularInertia
impl Default for ComputedAngularInertia
Source§impl From<AngularInertia> for ComputedAngularInertia
impl From<AngularInertia> for ComputedAngularInertia
Source§fn from(inertia: AngularInertia) -> Self
fn from(inertia: AngularInertia) -> Self
Source§impl From<ComputedAngularInertia> for AngularInertia
impl From<ComputedAngularInertia> for AngularInertia
Source§fn from(inertia: ComputedAngularInertia) -> Self
fn from(inertia: ComputedAngularInertia) -> Self
Source§impl From<SymmetricMat3> for ComputedAngularInertia
impl From<SymmetricMat3> for ComputedAngularInertia
Source§fn from(tensor: SymmetricMatrix) -> Self
fn from(tensor: SymmetricMatrix) -> Self
Source§impl FromReflect for ComputedAngularInertia
impl FromReflect for ComputedAngularInertia
Source§fn from_reflect(reflect: &dyn PartialReflect) -> Option<Self>
fn from_reflect(reflect: &dyn PartialReflect) -> Option<Self>
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 ComputedAngularInertia
impl GetTypeRegistration for ComputedAngularInertia
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 Mul<Vec3> for ComputedAngularInertia
impl Mul<Vec3> for ComputedAngularInertia
Source§impl PartialEq for ComputedAngularInertia
impl PartialEq for ComputedAngularInertia
Source§impl PartialReflect for ComputedAngularInertia
impl PartialReflect for ComputedAngularInertia
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) -> Result<(), ApplyError>
fn try_apply(&mut self, value: &dyn PartialReflect) -> 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<Self>) -> ReflectOwned
fn reflect_owned(self: Box<Self>) -> ReflectOwned
Source§fn try_into_reflect(
self: Box<Self>,
) -> Result<Box<dyn Reflect>, Box<dyn PartialReflect>>
fn try_into_reflect( self: Box<Self>, ) -> Result<Box<dyn Reflect>, Box<dyn PartialReflect>>
Source§fn try_as_reflect(&self) -> Option<&dyn Reflect>
fn try_as_reflect(&self) -> Option<&dyn Reflect>
Source§fn try_as_reflect_mut(&mut self) -> Option<&mut dyn Reflect>
fn try_as_reflect_mut(&mut self) -> Option<&mut dyn Reflect>
Source§fn into_partial_reflect(self: Box<Self>) -> Box<dyn PartialReflect>
fn into_partial_reflect(self: Box<Self>) -> Box<dyn PartialReflect>
Source§fn as_partial_reflect(&self) -> &dyn PartialReflect
fn as_partial_reflect(&self) -> &dyn PartialReflect
Source§fn as_partial_reflect_mut(&mut self) -> &mut dyn PartialReflect
fn as_partial_reflect_mut(&mut self) -> &mut dyn PartialReflect
Source§fn reflect_partial_eq(&self, value: &dyn PartialReflect) -> Option<bool>
fn reflect_partial_eq(&self, value: &dyn PartialReflect) -> Option<bool>
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) -> Box<dyn PartialReflect>
fn to_dynamic(&self) -> Box<dyn PartialReflect>
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. Read moreSource§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 ComputedAngularInertia
impl Reflect for ComputedAngularInertia
Source§fn as_any_mut(&mut self) -> &mut dyn Any
fn as_any_mut(&mut self) -> &mut dyn Any
&mut dyn Any. Read moreSource§fn into_reflect(self: Box<Self>) -> Box<dyn Reflect>
fn into_reflect(self: Box<Self>) -> Box<dyn Reflect>
Source§fn as_reflect(&self) -> &dyn Reflect
fn as_reflect(&self) -> &dyn Reflect
Source§fn as_reflect_mut(&mut self) -> &mut dyn Reflect
fn as_reflect_mut(&mut self) -> &mut dyn Reflect
Source§impl Struct for ComputedAngularInertia
impl Struct for ComputedAngularInertia
Source§fn field(&self, name: &str) -> Option<&dyn PartialReflect>
fn field(&self, name: &str) -> Option<&dyn PartialReflect>
name as a &dyn PartialReflect.Source§fn field_mut(&mut self, name: &str) -> Option<&mut dyn PartialReflect>
fn field_mut(&mut self, name: &str) -> Option<&mut dyn PartialReflect>
name as a
&mut dyn PartialReflect.Source§fn field_at(&self, index: usize) -> Option<&dyn PartialReflect>
fn field_at(&self, index: usize) -> Option<&dyn PartialReflect>
index as a
&dyn PartialReflect.Source§fn field_at_mut(&mut self, index: usize) -> Option<&mut dyn PartialReflect>
fn field_at_mut(&mut self, index: usize) -> Option<&mut dyn PartialReflect>
index
as a &mut dyn PartialReflect.Source§fn name_at(&self, index: usize) -> Option<&str>
fn name_at(&self, index: usize) -> Option<&str>
index.Source§fn iter_fields(&self) -> FieldIter<'_>
fn iter_fields(&self) -> FieldIter<'_>
Source§fn to_dynamic_struct(&self) -> DynamicStruct
fn to_dynamic_struct(&self) -> DynamicStruct
DynamicStruct from this struct.Source§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 TypePath for ComputedAngularInertia
impl TypePath for ComputedAngularInertia
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 ComputedAngularInertia
impl Typed for ComputedAngularInertia
impl Copy for ComputedAngularInertia
impl StructuralPartialEq for ComputedAngularInertia
Auto Trait Implementations§
impl Freeze for ComputedAngularInertia
impl RefUnwindSafe for ComputedAngularInertia
impl Send for ComputedAngularInertia
impl Sync for ComputedAngularInertia
impl Unpin for ComputedAngularInertia
impl UnwindSafe for ComputedAngularInertia
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 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> 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,
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
Source§unsafe fn apply_effect(
_ptr: MovingPtr<'_, MaybeUninit<C>>,
_entity: &mut EntityWorldMut<'_>,
)
unsafe fn apply_effect( _ptr: MovingPtr<'_, MaybeUninit<C>>, _entity: &mut EntityWorldMut<'_>, )
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> 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,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
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<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<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.