Enum bevy_xpbd_3d::PhysicsSet
source · pub enum PhysicsSet {
Prepare,
StepSimulation,
Sync,
}
Expand description
High-level system sets for the main phases of the physics engine. You can use these to schedule your own systems before or after physics is run without having to worry about implementation details.
Prepare
: Responsible for initializing rigid bodies and colliders and updating several components.StepSimulation
: Responsible for advancing the simulation by running the steps inPhysicsStepSet
.Sync
: Responsible for synchronizing physics components with other data, like keepingPosition
andRotation
in sync withTransform
.
§See also
PhysicsSchedule
: Responsible for advancing the simulation inPhysicsSet::StepSimulation
.PhysicsStepSet
: System sets for the steps of the actual physics simulation loop, like the broad phase and the substepping loop.SubstepSchedule
: Responsible for running the substepping loop inPhysicsStepSet::Substeps
.SubstepSet
: System sets for the steps of the substepping loop, like position integration and the constraint solver.PostProcessCollisions
: Responsible for running the post-process collisions group inSubstepSet::PostProcessCollisions
. Empty by default.
Variants§
Prepare
Responsible for initializing rigid bodies and colliders and updating several components.
See PreparePlugin
.
StepSimulation
Responsible for advancing the simulation by running the steps in PhysicsStepSet
.
Systems in this set are run in the PhysicsSchedule
.
Sync
Responsible for synchronizing physics components with other data, like keeping Position
and Rotation
in sync with Transform
.
See SyncPlugin
.
Trait Implementations§
source§impl Clone for PhysicsSet
impl Clone for PhysicsSet
source§fn clone(&self) -> PhysicsSet
fn clone(&self) -> PhysicsSet
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for PhysicsSet
impl Debug for PhysicsSet
source§impl Hash for PhysicsSet
impl Hash for PhysicsSet
source§impl PartialEq for PhysicsSet
impl PartialEq for PhysicsSet
source§fn eq(&self, other: &PhysicsSet) -> bool
fn eq(&self, other: &PhysicsSet) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl SystemSet for PhysicsSet
impl SystemSet for PhysicsSet
source§fn as_dyn_eq(&self) -> &dyn DynEq
fn as_dyn_eq(&self) -> &dyn DynEq
Casts this value to a form where it can be compared with other type-erased values.
§fn system_type(&self) -> Option<TypeId>
fn system_type(&self) -> Option<TypeId>
Returns
Some
if this system set is a [SystemTypeSet
].§fn is_anonymous(&self) -> bool
fn is_anonymous(&self) -> bool
Returns
true
if this system set is an [AnonymousSet
].impl Copy for PhysicsSet
impl Eq for PhysicsSet
impl StructuralPartialEq for PhysicsSet
Auto Trait Implementations§
impl RefUnwindSafe for PhysicsSet
impl Send for PhysicsSet
impl Sync for PhysicsSet
impl Unpin for PhysicsSet
impl UnwindSafe for PhysicsSet
Blanket Implementations§
§impl<T, U> AsBindGroupShaderType<U> for T
impl<T, U> AsBindGroupShaderType<U> for T
§fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U
Return the
T
[ShaderType
] for self
. When used in [AsBindGroup
]
derives, it is safe to assume that all images in self
exist.source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> DynEq for T
impl<T> DynEq for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<S> IntoSystemSet<()> for Swhere
S: SystemSet,
impl<S> IntoSystemSet<()> for Swhere
S: SystemSet,
§fn into_system_set(self) -> <S as IntoSystemSet<()>>::Set
fn into_system_set(self) -> <S as IntoSystemSet<()>>::Set
Converts this instance to its associated [
SystemSet
] type.§impl<S> IntoSystemSetConfigs for Swhere
S: SystemSet,
impl<S> IntoSystemSetConfigs for Swhere
S: SystemSet,
fn into_configs(self) -> NodeConfigs<Interned<dyn SystemSet>>
§fn in_set(self, set: impl SystemSet) -> NodeConfigs<Interned<dyn SystemSet>>
fn in_set(self, set: impl SystemSet) -> NodeConfigs<Interned<dyn SystemSet>>
Add these system sets to the provided
set
.§fn before_ignore_deferred<M>(
self,
set: impl IntoSystemSet<M>
) -> NodeConfigs<Interned<dyn SystemSet>>
fn before_ignore_deferred<M>( self, set: impl IntoSystemSet<M> ) -> NodeConfigs<Interned<dyn SystemSet>>
Run before all systems in
set
. Read more§fn after_ignore_deferred<M>(
self,
set: impl IntoSystemSet<M>
) -> NodeConfigs<Interned<dyn SystemSet>>
fn after_ignore_deferred<M>( self, set: impl IntoSystemSet<M> ) -> NodeConfigs<Interned<dyn SystemSet>>
Run after all systems in
set
. Read more§fn ambiguous_with<M>(
self,
set: impl IntoSystemSet<M>
) -> NodeConfigs<Interned<dyn SystemSet>>
fn ambiguous_with<M>( self, set: impl IntoSystemSet<M> ) -> NodeConfigs<Interned<dyn SystemSet>>
Suppress warnings and errors that would result from systems in these sets having ambiguities
(conflicting access but indeterminate order) with systems in
set
.§fn ambiguous_with_all(self) -> NodeConfigs<Interned<dyn SystemSet>>
fn ambiguous_with_all(self) -> NodeConfigs<Interned<dyn SystemSet>>
Suppress warnings and errors that would result from systems in these sets having ambiguities
(conflicting access but indeterminate order) with any other system.
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self
is actually part of its subset T
(and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.