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.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/pipeline/collision_pipeline.rs b/src/pipeline/collision_pipeline.rs
index 631388b..d0beedd 100644
--- a/src/pipeline/collision_pipeline.rs
+++ b/src/pipeline/collision_pipeline.rs
@@ -5,7 +5,7 @@ use crate::geometry::{
BroadPhase, BroadPhasePairEvent, ColliderChanges, ColliderHandle, ColliderPair, NarrowPhase,
};
use crate::math::Real;
-use crate::pipeline::{EventHandler, PhysicsHooks};
+use crate::pipeline::{EventHandler, PhysicsHooks, QueryPipeline};
use crate::{dynamics::RigidBodySet, geometry::ColliderSet};
/// The collision pipeline, responsible for performing collision detection between colliders.
@@ -111,6 +111,7 @@ impl CollisionPipeline {
narrow_phase: &mut NarrowPhase,
bodies: &mut RigidBodySet,
colliders: &mut ColliderSet,
+ query_pipeline: Option<&mut QueryPipeline>,
hooks: &dyn PhysicsHooks,
events: &dyn EventHandler,
) {
@@ -154,6 +155,10 @@ impl CollisionPipeline {
true,
);
+ if let Some(queries) = query_pipeline {
+ queries.update_incremental(colliders, &modified_colliders, &removed_colliders, true);
+ }
+
self.clear_modified_colliders(colliders, &mut modified_colliders);
removed_colliders.clear();
}