diff options
| author | Sébastien Crozet <developer@crozet.re> | 2022-01-02 18:05:50 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-01-02 18:05:50 +0100 |
| commit | 1308db89948bc62fb865b32f832f19268f23dd23 (patch) | |
| tree | b3d8b0cbb6d2e75aa8fc7686e9cb8801527a31b8 /src_testbed/box2d_backend.rs | |
| parent | 8e7da5ad45d180b0d3fa2bde37f8f3771b153b70 (diff) | |
| parent | 9f9d3293605fa84555c08bec5efe68a71cd18432 (diff) | |
| download | rapier-1308db89948bc62fb865b32f832f19268f23dd23.tar.gz rapier-1308db89948bc62fb865b32f832f19268f23dd23.tar.bz2 rapier-1308db89948bc62fb865b32f832f19268f23dd23.zip | |
Merge pull request #267 from dimforge/multibody
Implement multibody joints, and new velocity-based constraints solver
Diffstat (limited to 'src_testbed/box2d_backend.rs')
| -rw-r--r-- | src_testbed/box2d_backend.rs | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src_testbed/box2d_backend.rs b/src_testbed/box2d_backend.rs index f0bffa3..2a143fb 100644 --- a/src_testbed/box2d_backend.rs +++ b/src_testbed/box2d_backend.rs @@ -2,14 +2,12 @@ use std::collections::HashMap; use na::{Isometry2, Vector2}; use rapier::counters::Counters; -use rapier::dynamics::{ - IntegrationParameters, JointParams, JointSet, RigidBodyHandle, RigidBodySet, -}; +use rapier::dynamics::{ImpulseJointSet, IntegrationParameters, RigidBodyHandle, RigidBodySet}; use rapier::geometry::{Collider, ColliderSet}; use std::f32; use wrapped2d::b2; -use wrapped2d::dynamics::joints::{PrismaticJointDef, RevoluteJointDef, WeldJointDef}; +// use wrapped2d::dynamics::joints::{PrismaticJointDef, RevoluteJointDef, WeldJointDef}; use wrapped2d::user_data::NoUserData; fn na_vec_to_b2_vec(v: Vector2<f32>) -> b2::Vec2 { @@ -34,7 +32,7 @@ impl Box2dWorld { gravity: Vector2<f32>, bodies: &RigidBodySet, colliders: &ColliderSet, - joints: &JointSet, + impulse_joints: &ImpulseJointSet, ) -> Self { let mut world = b2::World::new(&na_vec_to_b2_vec(gravity)); world.set_continuous_physics(bodies.iter().any(|b| b.1.is_ccd_enabled())); @@ -46,7 +44,7 @@ impl Box2dWorld { res.insert_bodies(bodies); res.insert_colliders(colliders); - res.insert_joints(joints); + res.insert_joints(impulse_joints); res } @@ -95,8 +93,9 @@ impl Box2dWorld { } } - fn insert_joints(&mut self, joints: &JointSet) { - for joint in joints.iter() { + fn insert_joints(&mut self, _impulse_joints: &ImpulseJointSet) { + /* + for joint in impulse_joints.iter() { let body_a = self.rapier2box2d[&joint.1.body1]; let body_b = self.rapier2box2d[&joint.1.body2]; @@ -154,6 +153,8 @@ impl Box2dWorld { } } } + + */ } fn create_fixture(collider: &Collider, body: &mut b2::MetaBody<NoUserData>) { @@ -225,7 +226,7 @@ impl Box2dWorld { self.world.step( params.dt, params.max_velocity_iterations as i32, - params.max_position_iterations as i32, + params.max_stabilization_iterations as i32, ); counters.step_completed(); } |
