aboutsummaryrefslogtreecommitdiff
path: root/src/geometry
diff options
context:
space:
mode:
authorCrozet Sébastien <developer@crozet.re>2020-11-19 11:09:40 +0100
committerCrozet Sébastien <developer@crozet.re>2020-11-19 18:00:43 +0100
commit0d49a809746bade39f844a13f74a2fc03fc1d21f (patch)
tree36a3e14bd7e31f6cb5e3e1b28bf695acfc99b4d7 /src/geometry
parent1b0f39073fa5f87ec275fff0125649de123e6fa9 (diff)
downloadrapier-0d49a809746bade39f844a13f74a2fc03fc1d21f.tar.gz
rapier-0d49a809746bade39f844a13f74a2fc03fc1d21f.tar.bz2
rapier-0d49a809746bade39f844a13f74a2fc03fc1d21f.zip
Add a parameter to indicate if collider removal should wake-up its parent.
Diffstat (limited to 'src/geometry')
-rw-r--r--src/geometry/collider_set.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/geometry/collider_set.rs b/src/geometry/collider_set.rs
index fd94675..60b9225 100644
--- a/src/geometry/collider_set.rs
+++ b/src/geometry/collider_set.rs
@@ -78,10 +78,14 @@ impl ColliderSet {
}
/// Remove a collider from this set and update its parent accordingly.
+ ///
+ /// If `wake_up` is `true`, the rigid-body the removed collider is attached to
+ /// will be woken up.
pub fn remove(
&mut self,
handle: ColliderHandle,
bodies: &mut RigidBodySet,
+ wake_up: bool,
) -> Option<Collider> {
let collider = self.colliders.remove(handle)?;
@@ -90,7 +94,10 @@ impl ColliderSet {
*/
if let Some(parent) = bodies.get_mut_internal(collider.parent) {
parent.remove_collider_internal(handle, &collider);
- bodies.wake_up(collider.parent, true);
+
+ if wake_up {
+ bodies.wake_up(collider.parent, true);
+ }
}
/*