pub struct MassPropertyHelper<'w, 's> { /* private fields */ }Expand description
A SystemParam that provides helper methods for computing and updating mass properties.
Implementations§
Source§impl MassPropertyHelper<'_, '_>
impl MassPropertyHelper<'_, '_>
Sourcepub fn update_mass_properties(&mut self, entity: Entity)
pub fn update_mass_properties(&mut self, entity: Entity)
Updates the ComputedMass, ComputedAngularInertia, and ComputedCenterOfMass of the given entity.
This takes into account the mass properties of descendants, unless the given entity has the NoAutoMass,
NoAutoAngularInertia, or NoAutoCenterOfMass marker components.
Sourcepub fn total_mass_properties(&self, entity: Entity) -> MassProperties
pub fn total_mass_properties(&self, entity: Entity) -> MassProperties
Computes the total mass properties of the given entity, taking into account the mass properties of descendants.
This ignores the NoAutoMass, NoAutoAngularInertia, and NoAutoCenterOfMass marker components.
Sourcepub fn descendants_mass_properties(&self, entity: Entity) -> MassProperties
pub fn descendants_mass_properties(&self, entity: Entity) -> MassProperties
Computes the total mass properties of the descendants of the given entity.
This ignores the NoAutoMass, NoAutoAngularInertia, and NoAutoCenterOfMass marker components.
Sourcepub fn local_mass_properties(&self, entity: Entity) -> Option<MassProperties>
pub fn local_mass_properties(&self, entity: Entity) -> Option<MassProperties>
Computes the local mass properties of the given entity.
This only considers the entity’s own Mass, AngularInertia, CenterOfMass,
and/or ColliderMassProperties if present, not those of its children.
If the entity has no mass properties or the entity does not exist, None is returned.
Trait Implementations§
Source§impl SystemParam for MassPropertyHelper<'_, '_>
impl SystemParam for MassPropertyHelper<'_, '_>
Source§type Item<'w, 's> = MassPropertyHelper<'w, 's>
type Item<'w, 's> = MassPropertyHelper<'w, 's>
Self, instantiated with new lifetimes. Read moreSource§fn init_access(
state: &Self::State,
system_meta: &mut SystemMeta,
component_access_set: &mut FilteredAccessSet,
world: &mut World,
)
fn init_access( state: &Self::State, system_meta: &mut SystemMeta, component_access_set: &mut FilteredAccessSet, world: &mut World, )
World access used by this SystemParamSource§fn apply(state: &mut Self::State, system_meta: &SystemMeta, world: &mut World)
fn apply(state: &mut Self::State, system_meta: &SystemMeta, world: &mut World)
SystemParam’s state.
This is used to apply Commands during ApplyDeferred.Source§fn queue(
state: &mut Self::State,
system_meta: &SystemMeta,
world: DeferredWorld<'_>,
)
fn queue( state: &mut Self::State, system_meta: &SystemMeta, world: DeferredWorld<'_>, )
ApplyDeferred.Source§unsafe fn validate_param<'w, 's>(
state: &'s mut Self::State,
_system_meta: &SystemMeta,
_world: UnsafeWorldCell<'w>,
) -> Result<(), SystemParamValidationError>
unsafe fn validate_param<'w, 's>( state: &'s mut Self::State, _system_meta: &SystemMeta, _world: UnsafeWorldCell<'w>, ) -> Result<(), SystemParamValidationError>
Source§unsafe fn get_param<'w, 's>(
state: &'s mut Self::State,
system_meta: &SystemMeta,
world: UnsafeWorldCell<'w>,
change_tick: Tick,
) -> Self::Item<'w, 's>
unsafe fn get_param<'w, 's>( state: &'s mut Self::State, system_meta: &SystemMeta, world: UnsafeWorldCell<'w>, change_tick: Tick, ) -> Self::Item<'w, 's>
SystemParamFunction. Read moreimpl<'w, 's> ReadOnlySystemParam for MassPropertyHelper<'w, 's>where
Query<'w, 's, (Option<Read<Mass>>, Option<Read<AngularInertia>>, Option<Read<CenterOfMass>>, Option<Read<ColliderMassProperties>>, Option<Read<ColliderTransform>>, Has<Sensor>), Or<(With<Mass>, With<AngularInertia>, With<CenterOfMass>, (With<ColliderMassProperties>, With<ColliderTransform>, Without<Sensor>))>>: ReadOnlySystemParam,
Query<'w, 's, (Write<ComputedMass>, Write<ComputedAngularInertia>, Write<ComputedCenterOfMass>, Option<Read<Mass>>, Option<Read<AngularInertia>>, Option<Read<CenterOfMass>>, Has<NoAutoMass>, Has<NoAutoAngularInertia>, Has<NoAutoCenterOfMass>)>: ReadOnlySystemParam,
Query<'w, 's, Read<Children>>: ReadOnlySystemParam,
Auto Trait Implementations§
impl<'w, 's> Freeze for MassPropertyHelper<'w, 's>
impl<'w, 's> !RefUnwindSafe for MassPropertyHelper<'w, 's>
impl<'w, 's> Send for MassPropertyHelper<'w, 's>
impl<'w, 's> Sync for MassPropertyHelper<'w, 's>
impl<'w, 's> Unpin for MassPropertyHelper<'w, 's>
impl<'w, 's> !UnwindSafe for MassPropertyHelper<'w, 's>
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<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<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.