diff options
| author | Sébastien Crozet <developer@crozet.re> | 2021-05-01 10:17:23 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-05-01 10:17:23 +0200 |
| commit | a385efc5582c7918f11c01a2b6bf26a46919d3a0 (patch) | |
| tree | c5b9c5e6fcb5561421e2b4b9d99f28e4c83c745e /src_testbed/testbed.rs | |
| parent | aaf80bfa872c6f29b248cab8eb5658ab0d73cb4a (diff) | |
| parent | 2dfbd9ae92c139e306afc87994adac82489f30eb (diff) | |
| download | rapier-a385efc5582c7918f11c01a2b6bf26a46919d3a0.tar.gz rapier-a385efc5582c7918f11c01a2b6bf26a46919d3a0.tar.bz2 rapier-a385efc5582c7918f11c01a2b6bf26a46919d3a0.zip | |
Merge pull request #183 from dimforge/bundles
Make Rapier accept any kind of data storage instead of RigidBodySet/ColliderSet
Diffstat (limited to 'src_testbed/testbed.rs')
| -rw-r--r-- | src_testbed/testbed.rs | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src_testbed/testbed.rs b/src_testbed/testbed.rs index 0e04de6..d885c8a 100644 --- a/src_testbed/testbed.rs +++ b/src_testbed/testbed.rs @@ -19,7 +19,7 @@ use kiss3d::text::Font; use kiss3d::window::{State, Window}; use na::{self, Point2, Point3, Vector3}; use rapier::dynamics::{ - ActivationStatus, IntegrationParameters, JointSet, RigidBodyHandle, RigidBodySet, + IntegrationParameters, JointSet, RigidBodyActivation, RigidBodyHandle, RigidBodySet, }; use rapier::geometry::{ColliderHandle, ColliderSet, NarrowPhase}; #[cfg(feature = "dim3")] @@ -245,7 +245,7 @@ impl Testbed { colliders: ColliderSet, joints: JointSet, gravity: Vector<f32>, - hooks: impl PhysicsHooks + 'static, + hooks: impl PhysicsHooks<RigidBodySet, ColliderSet> + 'static, ) { self.harness .set_world_with_params(bodies, colliders, joints, gravity, hooks); @@ -586,6 +586,7 @@ impl Testbed { for to_delete in &colliders[..num_to_delete] { self.harness.physics.colliders.remove( to_delete[0], + &mut self.harness.physics.islands, &mut self.harness.physics.bodies, true, ); @@ -605,6 +606,7 @@ impl Testbed { for to_delete in &dynamic_bodies[..num_to_delete] { self.harness.physics.bodies.remove( *to_delete, + &mut self.harness.physics.islands, &mut self.harness.physics.colliders, &mut self.harness.physics.joints, ); @@ -617,6 +619,7 @@ impl Testbed { for to_delete in &joints[..num_to_delete] { self.harness.physics.joints.remove( *to_delete, + &mut self.harness.physics.islands, &mut self.harness.physics.bodies, true, ); @@ -1205,13 +1208,13 @@ impl State for Testbed { != self.state.flags.contains(TestbedStateFlags::SLEEP) { if self.state.flags.contains(TestbedStateFlags::SLEEP) { - for (_, mut body) in self.harness.physics.bodies.iter_mut() { - body.activation.threshold = ActivationStatus::default_threshold(); + for (_, body) in self.harness.physics.bodies.iter_mut() { + body.activation_mut().threshold = RigidBodyActivation::default_threshold(); } } else { - for (_, mut body) in self.harness.physics.bodies.iter_mut() { + for (_, body) in self.harness.physics.bodies.iter_mut() { body.wake_up(true); - body.activation.threshold = -1.0; + body.activation_mut().threshold = -1.0; } } } |
