diff options
Diffstat (limited to 'src/pipeline/collision_pipeline.rs')
| -rw-r--r-- | src/pipeline/collision_pipeline.rs | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/src/pipeline/collision_pipeline.rs b/src/pipeline/collision_pipeline.rs index 866c3a5..6f02d98 100644 --- a/src/pipeline/collision_pipeline.rs +++ b/src/pipeline/collision_pipeline.rs @@ -2,8 +2,7 @@ use crate::dynamics::{JointSet, RigidBodySet}; use crate::geometry::{ - BroadPhase, BroadPhasePairEvent, ColliderPair, ColliderSet, ContactPairFilter, - IntersectionPairFilter, NarrowPhase, + BroadPhase, BroadPhasePairEvent, ColliderPair, ColliderSet, NarrowPhase, PhysicsHooks, }; use crate::math::Real; use crate::pipeline::EventHandler; @@ -44,8 +43,7 @@ impl CollisionPipeline { narrow_phase: &mut NarrowPhase, bodies: &mut RigidBodySet, colliders: &mut ColliderSet, - contact_pair_filter: Option<&dyn ContactPairFilter>, - proximity_pair_filter: Option<&dyn IntersectionPairFilter>, + hooks: &dyn PhysicsHooks, events: &dyn EventHandler, ) { bodies.maintain(colliders); @@ -58,14 +56,8 @@ impl CollisionPipeline { narrow_phase.register_pairs(colliders, bodies, &self.broad_phase_events, events); - narrow_phase.compute_contacts( - prediction_distance, - bodies, - colliders, - contact_pair_filter, - events, - ); - narrow_phase.compute_intersections(bodies, colliders, proximity_pair_filter, events); + narrow_phase.compute_contacts(prediction_distance, bodies, colliders, hooks, events); + narrow_phase.compute_intersections(bodies, colliders, hooks, events); bodies.update_active_set_with_contacts( colliders, |
