diff options
Diffstat (limited to 'src/pipeline/physics_pipeline.rs')
| -rw-r--r-- | src/pipeline/physics_pipeline.rs | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/src/pipeline/physics_pipeline.rs b/src/pipeline/physics_pipeline.rs index 293fa9d..198c4be 100644 --- a/src/pipeline/physics_pipeline.rs +++ b/src/pipeline/physics_pipeline.rs @@ -7,11 +7,10 @@ use crate::dynamics::{IntegrationParameters, JointSet, RigidBodySet}; #[cfg(feature = "parallel")] use crate::dynamics::{JointGraphEdge, ParallelIslandSolver as IslandSolver}; use crate::geometry::{ - BroadPhase, BroadPhasePairEvent, ColliderPair, ColliderSet, ContactManifoldIndex, - ContactPairFilter, IntersectionPairFilter, NarrowPhase, + BroadPhase, BroadPhasePairEvent, ColliderPair, ColliderSet, ContactManifoldIndex, NarrowPhase, }; use crate::math::{Real, Vector}; -use crate::pipeline::EventHandler; +use crate::pipeline::{EventHandler, PhysicsHooks}; /// The physics pipeline, responsible for stepping the whole physics simulation. /// @@ -69,8 +68,7 @@ impl PhysicsPipeline { bodies: &mut RigidBodySet, colliders: &mut ColliderSet, joints: &mut JointSet, - contact_pair_filter: Option<&dyn ContactPairFilter>, - proximity_pair_filter: Option<&dyn IntersectionPairFilter>, + hooks: &dyn PhysicsHooks, events: &dyn EventHandler, ) { self.counters.step_started(); @@ -115,10 +113,10 @@ impl PhysicsPipeline { integration_parameters.prediction_distance, bodies, colliders, - contact_pair_filter, + hooks, events, ); - narrow_phase.compute_intersections(bodies, colliders, proximity_pair_filter, events); + narrow_phase.compute_intersections(bodies, colliders, hooks, events); // println!("Compute contact time: {}", instant::now() - t); self.counters.stages.island_construction_time.start(); @@ -280,8 +278,7 @@ mod test { &mut bodies, &mut colliders, &mut joints, - None, - None, + &(), &(), ); } @@ -324,8 +321,7 @@ mod test { &mut bodies, &mut colliders, &mut joints, - None, - None, + &(), &(), ); } |
