aboutsummaryrefslogtreecommitdiff
path: root/src_testbed
diff options
context:
space:
mode:
authorRobert Hrusecky <robert.hrusecky@utexas.edu>2020-11-02 15:00:12 -0600
committerRobert Hrusecky <robert.hrusecky@utexas.edu>2020-11-02 15:00:12 -0600
commit8b81a3fd2727dcb911f19c3d7a98c4ec94c6f2fa (patch)
treeb59ce89ff5d1e0505cdf2b7b91740a48763efa76 /src_testbed
parentbcec54ef31d987cf20b493628a20777183a95f65 (diff)
parenta38fdc101dc74473c45a8b4f5d770f2bc43f30c2 (diff)
downloadrapier-8b81a3fd2727dcb911f19c3d7a98c4ec94c6f2fa.tar.gz
rapier-8b81a3fd2727dcb911f19c3d7a98c4ec94c6f2fa.tar.bz2
rapier-8b81a3fd2727dcb911f19c3d7a98c4ec94c6f2fa.zip
Merge branch 'master' into infinite_fall_memory
Diffstat (limited to 'src_testbed')
-rw-r--r--src_testbed/testbed.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/src_testbed/testbed.rs b/src_testbed/testbed.rs
index 3bf720a..7160b3b 100644
--- a/src_testbed/testbed.rs
+++ b/src_testbed/testbed.rs
@@ -847,6 +847,16 @@ impl Testbed {
);
}
}
+ WindowEvent::Key(Key::J, Action::Release, _) => {
+ // Delete 10% of the remaining joints.
+ let joints: Vec<_> = self.physics.joints.iter().map(|e| e.0).collect();
+ let num_to_delete = (joints.len() / 10).max(1);
+ for to_delete in &joints[..num_to_delete] {
+ self.physics
+ .joints
+ .remove(*to_delete, &mut self.physics.bodies, true);
+ }
+ }
WindowEvent::CursorPos(x, y, _) => {
self.cursor_pos.x = x as f32;
self.cursor_pos.y = y as f32;