diff options
| author | Crozet Sébastien <developer@crozet.re> | 2020-11-26 11:41:43 +0100 |
|---|---|---|
| committer | Crozet Sébastien <developer@crozet.re> | 2020-11-26 11:41:54 +0100 |
| commit | 391bcf372ab19d4ae3eceb056eb605062bf71122 (patch) | |
| tree | b075af9c11ff14ea062c7a1f32c961ce5b0d67ef /src/dynamics | |
| parent | f293dc602451ddf3c13ce6272f9d3556d47f4fca (diff) | |
| download | rapier-391bcf372ab19d4ae3eceb056eb605062bf71122.tar.gz rapier-391bcf372ab19d4ae3eceb056eb605062bf71122.tar.bz2 rapier-391bcf372ab19d4ae3eceb056eb605062bf71122.zip | |
Fix collider insertion/removal tracking.
Diffstat (limited to 'src/dynamics')
| -rw-r--r-- | src/dynamics/rigid_body.rs | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/dynamics/rigid_body.rs b/src/dynamics/rigid_body.rs index 52db425..0d340cc 100644 --- a/src/dynamics/rigid_body.rs +++ b/src/dynamics/rigid_body.rs @@ -167,12 +167,10 @@ impl RigidBody { /// Adds a collider to this rigid-body. pub(crate) fn add_collider(&mut self, handle: ColliderHandle, coll: &Collider) { - if !self.changes.contains(RigidBodyChanges::MODIFIED) { - self.changes.set( - RigidBodyChanges::MODIFIED | RigidBodyChanges::COLLIDERS, - true, - ); - } + self.changes.set( + RigidBodyChanges::MODIFIED | RigidBodyChanges::COLLIDERS, + true, + ); let mass_properties = coll .mass_properties() @@ -193,6 +191,7 @@ impl RigidBody { /// Removes a collider from this rigid-body. pub(crate) fn remove_collider_internal(&mut self, handle: ColliderHandle, coll: &Collider) { if let Some(i) = self.colliders.iter().position(|e| *e == handle) { + self.changes.set(RigidBodyChanges::COLLIDERS, true); self.colliders.swap_remove(i); let mass_properties = coll .mass_properties() |
