aboutsummaryrefslogtreecommitdiff
path: root/benchmarks3d/joint_fixed3.rs
diff options
context:
space:
mode:
authorSébastien Crozet <developer@crozet.re>2022-01-02 18:05:50 +0100
committerGitHub <noreply@github.com>2022-01-02 18:05:50 +0100
commit1308db89948bc62fb865b32f832f19268f23dd23 (patch)
treeb3d8b0cbb6d2e75aa8fc7686e9cb8801527a31b8 /benchmarks3d/joint_fixed3.rs
parent8e7da5ad45d180b0d3fa2bde37f8f3771b153b70 (diff)
parent9f9d3293605fa84555c08bec5efe68a71cd18432 (diff)
downloadrapier-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 'benchmarks3d/joint_fixed3.rs')
-rw-r--r--benchmarks3d/joint_fixed3.rs19
1 files changed, 7 insertions, 12 deletions
diff --git a/benchmarks3d/joint_fixed3.rs b/benchmarks3d/joint_fixed3.rs
index 3d1e317..b3f4039 100644
--- a/benchmarks3d/joint_fixed3.rs
+++ b/benchmarks3d/joint_fixed3.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();
let rad = 0.4;
let num = 5;
@@ -49,22 +50,16 @@ pub fn init_world(testbed: &mut Testbed) {
// Vertical joint.
if i > 0 {
let parent_handle = *body_handles.last().unwrap();
- let joint = FixedJoint::new(
- Isometry::identity(),
- Isometry::translation(0.0, 0.0, -shift),
- );
- joints.insert(parent_handle, child_handle, joint);
+ let joint = FixedJoint::new().local_anchor2(point![0.0, 0.0, -shift]);
+ impulse_joints.insert(parent_handle, child_handle, joint);
}
// Horizontal joint.
if k > 0 {
let parent_index = body_handles.len() - num;
let parent_handle = body_handles[parent_index];
- let joint = FixedJoint::new(
- Isometry::identity(),
- Isometry::translation(-shift, 0.0, 0.0),
- );
- joints.insert(parent_handle, child_handle, joint);
+ let joint = FixedJoint::new().local_anchor2(point![-shift, 0.0, 0.0]);
+ impulse_joints.insert(parent_handle, child_handle, joint);
}
body_handles.push(child_handle);
@@ -77,6 +72,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![-38.0, 14.0, 108.0], point![46.0, 12.0, 23.0]);
}