Skip to main content

apply_joint_user_changes

Function apply_joint_user_changes 

Source
pub fn apply_joint_user_changes(
    commands: Commands<'_, '_>,
    context: Query<'_, '_, (&RapierRigidBodySet, &mut RapierContextJoints)>,
    changed_impulse_joints: Query<'_, '_, (Entity, &RapierContextEntityLink, &RapierImpulseJointHandle, &ImpulseJoint, Has<ImpulseJointDisabled>), Or<(Changed<ImpulseJoint>, Changed<ImpulseJointDisabled>, Changed<ChildOf>)>>,
    changed_multibody_joints: Query<'_, '_, (Entity, &RapierContextEntityLink, &RapierMultibodyJointHandle, &MultibodyJoint, Has<KinematicMultibodyJoint>), Changed<MultibodyJoint>>,
    child_of_query: Query<'_, '_, &ChildOf>,
)
Expand description

System responsible for applying changes the user made to a joint component.

This also re-attaches an ImpulseJoint to other rigid-bodies if its parent, or the rigid-body of its entity, changed, and a MultibodyJoint if its parent changed. If one of the new bodies doesn’t exist yet, the joint is removed from the physics scene until init_joints can create it again.