diff options
| author | Crozet Sébastien <developer@crozet.re> | 2021-02-23 15:49:23 +0100 |
|---|---|---|
| committer | Crozet Sébastien <developer@crozet.re> | 2021-02-23 15:49:23 +0100 |
| commit | babcab0bed23fadd23181ccc58aae34fb80d01d8 (patch) | |
| tree | dcdb17f061860a93873659c55f029a8fbf5cbccc /src_testbed/harness | |
| parent | f8bf96fdc8a0cfd7324d589736d41057a6c1bfe8 (diff) | |
| download | rapier-babcab0bed23fadd23181ccc58aae34fb80d01d8.tar.gz rapier-babcab0bed23fadd23181ccc58aae34fb80d01d8.tar.bz2 rapier-babcab0bed23fadd23181ccc58aae34fb80d01d8.zip | |
Update the testbed to use PhysicsHooks.
Diffstat (limited to 'src_testbed/harness')
| -rw-r--r-- | src_testbed/harness/mod.rs | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src_testbed/harness/mod.rs b/src_testbed/harness/mod.rs index 53aa893..5e75d85 100644 --- a/src_testbed/harness/mod.rs +++ b/src_testbed/harness/mod.rs @@ -7,7 +7,7 @@ use plugin::HarnessPlugin; use rapier::dynamics::{IntegrationParameters, JointSet, RigidBodySet}; use rapier::geometry::{BroadPhase, ColliderSet, NarrowPhase}; use rapier::math::Vector; -use rapier::pipeline::{ChannelEventCollector, PhysicsPipeline, QueryPipeline}; +use rapier::pipeline::{ChannelEventCollector, PhysicsHooks, PhysicsPipeline, QueryPipeline}; pub mod plugin; @@ -111,15 +111,16 @@ impl Harness { } pub fn set_world(&mut self, bodies: RigidBodySet, colliders: ColliderSet, joints: JointSet) { - self.set_world_with_gravity(bodies, colliders, joints, Vector::y() * -9.81) + self.set_world_with_params(bodies, colliders, joints, Vector::y() * -9.81, ()) } - pub fn set_world_with_gravity( + pub fn set_world_with_params( &mut self, bodies: RigidBodySet, colliders: ColliderSet, joints: JointSet, gravity: Vector<f32>, + hooks: impl PhysicsHooks + 'static, ) { // println!("Num bodies: {}", bodies.len()); // println!("Num joints: {}", joints.len()); @@ -127,6 +128,8 @@ impl Harness { self.physics.bodies = bodies; self.physics.colliders = colliders; self.physics.joints = joints; + self.physics.hooks = Box::new(hooks); + self.physics.broad_phase = BroadPhase::new(); self.physics.narrow_phase = NarrowPhase::new(); self.state.timestep_id = 0; @@ -176,8 +179,7 @@ impl Harness { &mut physics.bodies, &mut physics.colliders, &mut physics.joints, - None, - None, + &*physics.hooks, event_handler, ); }); @@ -192,7 +194,7 @@ impl Harness { &mut self.physics.bodies, &mut self.physics.colliders, &mut self.physics.joints, - &(), + &*self.physics.hooks, &self.event_handler, ); |
