aboutsummaryrefslogtreecommitdiff
path: root/src/pipeline/collision_pipeline.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/pipeline/collision_pipeline.rs')
-rw-r--r--src/pipeline/collision_pipeline.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/pipeline/collision_pipeline.rs b/src/pipeline/collision_pipeline.rs
index ac92a04..631388b 100644
--- a/src/pipeline/collision_pipeline.rs
+++ b/src/pipeline/collision_pipeline.rs
@@ -127,9 +127,20 @@ impl CollisionPipeline {
None,
bodies,
colliders,
+ &mut ImpulseJointSet::new(),
+ &mut MultibodyJointSet::new(),
&modified_bodies,
&mut modified_colliders,
);
+
+ // Disabled colliders are treated as if they were removed.
+ removed_colliders.extend(
+ modified_colliders
+ .iter()
+ .copied()
+ .filter(|h| colliders.get(*h).map(|c| !c.is_enabled()).unwrap_or(false)),
+ );
+
self.detect_collisions(
prediction_distance,
broad_phase,