aboutsummaryrefslogtreecommitdiff
path: root/examples2d
diff options
context:
space:
mode:
Diffstat (limited to 'examples2d')
-rw-r--r--examples2d/Cargo.toml6
-rw-r--r--examples2d/add_remove2.rs12
-rw-r--r--examples2d/ccd2.rs5
-rw-r--r--examples2d/collision_groups2.rs5
-rw-r--r--examples2d/convex_polygons2.rs5
-rw-r--r--examples2d/damping2.rs12
-rw-r--r--examples2d/debug_box_ball2.rs5
-rw-r--r--examples2d/heightfield2.rs5
-rw-r--r--examples2d/joints2.rs13
-rw-r--r--examples2d/locked_rotations2.rs5
-rw-r--r--examples2d/one_way_platforms2.rs6
-rw-r--r--examples2d/platform2.rs5
-rw-r--r--examples2d/polyline2.rs5
-rw-r--r--examples2d/pyramid2.rs5
-rw-r--r--examples2d/restitution2.rs5
-rw-r--r--examples2d/sensor2.rs5
-rw-r--r--examples2d/trimesh2.rs5
17 files changed, 68 insertions, 41 deletions
diff --git a/examples2d/Cargo.toml b/examples2d/Cargo.toml
index 3c065fd..415f994 100644
--- a/examples2d/Cargo.toml
+++ b/examples2d/Cargo.toml
@@ -2,7 +2,7 @@
name = "rapier-examples-2d"
version = "0.1.0"
authors = [ "Sébastien Crozet <developer@crozet.re>" ]
-edition = "2018"
+edition = "2021"
default-run = "all_examples2"
[features]
@@ -19,10 +19,10 @@ lyon = "0.17"
usvg = "0.14"
[dependencies.rapier_testbed2d]
-path = "../build/rapier_testbed2d"
+path = "../crates/rapier_testbed2d"
[dependencies.rapier2d]
-path = "../build/rapier2d"
+path = "../crates/rapier2d"
[[bin]]
name = "all_examples2"
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);
}
diff --git a/examples2d/ccd2.rs b/examples2d/ccd2.rs
index 1f25586..808c2e5 100644
--- a/examples2d/ccd2.rs
+++ b/examples2d/ccd2.rs
@@ -7,7 +7,8 @@ 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();
/*
* Ground
@@ -123,6 +124,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, 2.5], 20.0);
}
diff --git a/examples2d/collision_groups2.rs b/examples2d/collision_groups2.rs
index 3f2a786..110c32a 100644
--- a/examples2d/collision_groups2.rs
+++ b/examples2d/collision_groups2.rs
@@ -7,7 +7,8 @@ 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();
/*
* Ground
@@ -89,6 +90,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, 1.0], 100.0);
}
diff --git a/examples2d/convex_polygons2.rs b/examples2d/convex_polygons2.rs
index 4373fcb..060e0c5 100644
--- a/examples2d/convex_polygons2.rs
+++ b/examples2d/convex_polygons2.rs
@@ -9,7 +9,8 @@ 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();
/*
* Ground
@@ -76,6 +77,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, 50.0], 10.0);
}
diff --git a/examples2d/damping2.rs b/examples2d/damping2.rs
index e308de6..481fee2 100644
--- a/examples2d/damping2.rs
+++ b/examples2d/damping2.rs
@@ -7,7 +7,8 @@ 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();
/*
* Create the balls
@@ -38,6 +39,13 @@ pub fn init_world(testbed: &mut Testbed) {
/*
* Set up the testbed.
*/
- testbed.set_world_with_params(bodies, colliders, joints, Vector::zeros(), ());
+ testbed.set_world_with_params(
+ bodies,
+ colliders,
+ impulse_joints,
+ multibody_joints,
+ Vector::zeros(),
+ (),
+ );
testbed.look_at(point![3.0, 2.0], 50.0);
}
diff --git a/examples2d/debug_box_ball2.rs b/examples2d/debug_box_ball2.rs
index 63b6f95..8f15b7a 100644
--- a/examples2d/debug_box_ball2.rs
+++ b/examples2d/debug_box_ball2.rs
@@ -7,7 +7,8 @@ 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();
/*
* Ground
@@ -33,6 +34,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], 50.0);
}
diff --git a/examples2d/heightfield2.rs b/examples2d/heightfield2.rs
index a965ad8..09c604d 100644
--- a/examples2d/heightfield2.rs
+++ b/examples2d/heightfield2.rs
@@ -8,7 +8,8 @@ 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();
/*
* Ground
@@ -63,6 +64,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], 10.0);
}
diff --git a/examples2d/joints2.rs b/examples2d/joints2.rs
index 9333184..91d86cd 100644
--- a/examples2d/joints2.rs
+++ b/examples2d/joints2.rs
@@ -7,7 +7,8 @@ pub fn init_world(testbed: &mut Testbed) {
*/
let mut bodies = RigidBodySet::new();
let mut colliders = ColliderSet::new();
- let mut joints = JointSet::new();
+ let mut impulse_joints = ImpulseJointSet::new();
+ let multibody_joints = MultibodyJointSet::new();
/*
* Create the balls
@@ -44,16 +45,16 @@ pub fn init_world(testbed: &mut Testbed) {
// Vertical joint.
if i > 0 {
let parent_handle = *body_handles.last().unwrap();
- let joint = BallJoint::new(Point::origin(), point![0.0, shift]);
- joints.insert(parent_handle, child_handle, joint);
+ let joint = RevoluteJoint::new().local_anchor2(point![0.0, shift]);
+ impulse_joints.insert(parent_handle, child_handle, joint);
}
// Horizontal joint.
if k > 0 {
let parent_index = body_handles.len() - numi;
let parent_handle = body_handles[parent_index];
- let joint = BallJoint::new(Point::origin(), point![-shift, 0.0]);
- joints.insert(parent_handle, child_handle, joint);
+ let joint = RevoluteJoint::new().local_anchor2(point![-shift, 0.0]);
+ impulse_joints.insert(parent_handle, child_handle, joint);
}
body_handles.push(child_handle);
@@ -63,6 +64,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![numk as f32 * rad, numi as f32 * -rad], 20.0);
}
diff --git a/examples2d/locked_rotations2.rs b/examples2d/locked_rotations2.rs
index a1f7ba5..32c528f 100644
--- a/examples2d/locked_rotations2.rs
+++ b/examples2d/locked_rotations2.rs
@@ -10,7 +10,8 @@ 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();
/*
* The ground
@@ -51,6 +52,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], 40.0);
}
diff --git a/examples2d/one_way_platforms2.rs b/examples2d/one_way_platforms2.rs
index 6cbb2f0..2bed57d 100644
--- a/examples2d/one_way_platforms2.rs
+++ b/examples2d/one_way_platforms2.rs
@@ -62,7 +62,8 @@ 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();
/*
* Ground
@@ -126,7 +127,8 @@ pub fn init_world(testbed: &mut Testbed) {
testbed.set_world_with_params(
bodies,
colliders,
- joints,
+ impulse_joints,
+ multibody_joints,
vector![0.0, -9.81],
physics_hooks,
);
diff --git a/examples2d/platform2.rs b/examples2d/platform2.rs
index 48129a0..a737e34 100644
--- a/examples2d/platform2.rs
+++ b/examples2d/platform2.rs
@@ -7,7 +7,8 @@ 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();
/*
* Ground.
@@ -89,6 +90,6 @@ pub fn init_world(testbed: &mut Testbed) {
/*
* Run the simulation.
*/
- testbed.set_world(bodies, colliders, joints);
+ testbed.set_world(bodies, colliders, impulse_joints, multibody_joints);
testbed.look_at(point![0.0, 1.0], 40.0);
}
diff --git a/examples2d/polyline2.rs b/examples2d/polyline2.rs
index 9f5241c..2cde60c 100644
--- a/examples2d/polyline2.rs
+++ b/examples2d/polyline2.rs
@@ -8,7 +8,8 @@ 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();
/*
* Ground
@@ -65,6 +66,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], 10.0);
}
diff --git a/examples2d/pyramid2.rs b/examples2d/pyramid2.rs
index 76616be..04a7953 100644
--- a/examples2d/pyramid2.rs
+++ b/examples2d/pyramid2.rs
@@ -7,7 +7,8 @@ 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();
/*
* Ground
@@ -50,6 +51,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, 2.5], 20.0);
}
diff --git a/examples2d/restitution2.rs b/examples2d/restitution2.rs
index 1be4298..2650ec2 100644
--- a/examples2d/restitution2.rs
+++ b/examples2d/restitution2.rs
@@ -7,7 +7,8 @@ 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();
/*
* Ground
@@ -44,6 +45,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, 1.0], 25.0);
}
diff --git a/examples2d/sensor2.rs b/examples2d/sensor2.rs
index 5dc5940..9ef5a6b 100644
--- a/examples2d/sensor2.rs
+++ b/examples2d/sensor2.rs
@@ -7,7 +7,8 @@ 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();
/*
* Ground.
@@ -98,6 +99,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, 1.0], 100.0);
}
diff --git a/examples2d/trimesh2.rs b/examples2d/trimesh2.rs
index a4b049a..1474b77 100644
--- a/examples2d/trimesh2.rs
+++ b/examples2d/trimesh2.rs
@@ -13,7 +13,8 @@ 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();
/*
* Ground
@@ -103,7 +104,7 @@ 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, 20.0], 17.0);
}