diff options
Diffstat (limited to 'examples2d')
| -rw-r--r-- | examples2d/Cargo.toml | 6 | ||||
| -rw-r--r-- | examples2d/add_remove2.rs | 12 | ||||
| -rw-r--r-- | examples2d/ccd2.rs | 5 | ||||
| -rw-r--r-- | examples2d/collision_groups2.rs | 5 | ||||
| -rw-r--r-- | examples2d/convex_polygons2.rs | 5 | ||||
| -rw-r--r-- | examples2d/damping2.rs | 12 | ||||
| -rw-r--r-- | examples2d/debug_box_ball2.rs | 5 | ||||
| -rw-r--r-- | examples2d/heightfield2.rs | 5 | ||||
| -rw-r--r-- | examples2d/joints2.rs | 13 | ||||
| -rw-r--r-- | examples2d/locked_rotations2.rs | 5 | ||||
| -rw-r--r-- | examples2d/one_way_platforms2.rs | 6 | ||||
| -rw-r--r-- | examples2d/platform2.rs | 5 | ||||
| -rw-r--r-- | examples2d/polyline2.rs | 5 | ||||
| -rw-r--r-- | examples2d/pyramid2.rs | 5 | ||||
| -rw-r--r-- | examples2d/restitution2.rs | 5 | ||||
| -rw-r--r-- | examples2d/sensor2.rs | 5 | ||||
| -rw-r--r-- | examples2d/trimesh2.rs | 5 |
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); } |
