aboutsummaryrefslogtreecommitdiff
path: root/examples2d/add_remove2.rs
diff options
context:
space:
mode:
authorSébastien Crozet <developer@crozet.re>2022-01-02 14:47:40 +0100
committerSébastien Crozet <developer@crozet.re>2022-01-02 16:58:36 +0100
commitf74b8401ad9ef50b8cdbf1f43a2b21f6c42b0ebc (patch)
tree53ac492fea5942a7d466f58a0095f39505674ea4 /examples2d/add_remove2.rs
parentb45d4b5ac2b31856c15e802b31e288a58940cbf2 (diff)
downloadrapier-f74b8401ad9ef50b8cdbf1f43a2b21f6c42b0ebc.tar.gz
rapier-f74b8401ad9ef50b8cdbf1f43a2b21f6c42b0ebc.tar.bz2
rapier-f74b8401ad9ef50b8cdbf1f43a2b21f6c42b0ebc.zip
Implement multibody joints and the new solver
Diffstat (limited to 'examples2d/add_remove2.rs')
-rw-r--r--examples2d/add_remove2.rs12
1 files changed, 8 insertions, 4 deletions
diff --git a/examples2d/add_remove2.rs b/examples2d/add_remove2.rs
index f701a90..0919da9 100644
--- a/examples2d/add_remove2.rs
+++ b/examples2d/add_remove2.rs
@@ -4,12 +4,15 @@ use rapier_testbed2d::Testbed;
pub fn init_world(testbed: &mut Testbed) {
let mut bodies = RigidBodySet::new();
let mut colliders = ColliderSet::new();
- let joints = JointSet::new();
+ let impulse_joints = ImpulseJointSet::new();
+ let multibody_joints = MultibodyJointSet::new();
+
let rad = 0.5;
let positions = [vector![5.0, -1.0], vector![-5.0, -1.0]];
- let platform_handles = std::array::IntoIter::new(positions)
+ let platform_handles = positions
+ .into_iter()
.map(|pos| {
let rigid_body = RigidBodyBuilder::new_kinematic_position_based()
.translation(pos)
@@ -57,7 +60,8 @@ pub fn init_world(testbed: &mut Testbed) {
handle,
&mut physics.islands,
&mut physics.colliders,
- &mut physics.joints,
+ &mut physics.impulse_joints,
+ &mut physics.multibody_joints,
);
if let Some(graphics) = &mut graphics {
@@ -69,6 +73,6 @@ pub fn init_world(testbed: &mut Testbed) {
/*
* Set up the testbed.
*/
- testbed.set_world(bodies, colliders, joints);
+ testbed.set_world(bodies, colliders, impulse_joints, multibody_joints);
testbed.look_at(point![0.0, 0.0], 20.0);
}