chore: rename the multibody motor debug demo

This commit is contained in:
Sébastien Crozet
2024-01-24 23:06:08 +01:00
parent 2ed34bacf4
commit 9fed726aa9
2 changed files with 7 additions and 12 deletions

View File

@@ -38,6 +38,7 @@ mod debug_chain_high_mass_ratio3;
mod debug_cube_high_mass_ratio3; mod debug_cube_high_mass_ratio3;
mod debug_internal_edges3; mod debug_internal_edges3;
mod debug_long_chain3; mod debug_long_chain3;
mod debug_multibody_ang_motor_pos3;
mod joint_motor_position3; mod joint_motor_position3;
mod keva3; mod keva3;
mod locked_rotations3; mod locked_rotations3;
@@ -53,8 +54,6 @@ mod trimesh3;
mod vehicle_controller3; mod vehicle_controller3;
mod vehicle_joints3; mod vehicle_joints3;
mod spherical_joint_testing;
fn demo_name_from_command_line() -> Option<String> { fn demo_name_from_command_line() -> Option<String> {
let mut args = std::env::args(); let mut args = std::env::args();
@@ -151,7 +150,10 @@ pub fn main() {
debug_shape_modification3::init_world, debug_shape_modification3::init_world,
), ),
("(Debug) deserialize", debug_deserialize3::init_world), ("(Debug) deserialize", debug_deserialize3::init_world),
("Spherical Joint testing", spherical_joint_testing::init_world) (
"(Debug) multibody ang. motor pos.",
debug_multibody_ang_motor_pos3::init_world,
),
]; ];
// Lexicographic sort, with stress tests moved at the end of the list. // Lexicographic sort, with stress tests moved at the end of the list.

View File

@@ -2,37 +2,30 @@ use rapier3d::prelude::*;
use rapier_testbed3d::Testbed; use rapier_testbed3d::Testbed;
pub fn init_world(testbed: &mut Testbed) { pub fn init_world(testbed: &mut Testbed) {
let mut bodies = RigidBodySet::new(); let mut bodies = RigidBodySet::new();
let mut colliders = ColliderSet::new(); let mut colliders = ColliderSet::new();
let mut impulse_joints = ImpulseJointSet::new(); let impulse_joints = ImpulseJointSet::new();
let mut multibody_joints = MultibodyJointSet::new(); let mut multibody_joints = MultibodyJointSet::new();
let ground = RigidBodyBuilder::fixed().translation(vector![0.0, 0.0, 0.0]); let ground = RigidBodyBuilder::fixed().translation(vector![0.0, 0.0, 0.0]);
let body = bodies.insert(ground); let body = bodies.insert(ground);
let collider = ColliderBuilder::cuboid(1.0, 1.0, 1.0); let collider = ColliderBuilder::cuboid(1.0, 1.0, 1.0);
colliders.insert_with_parent(collider, body, &mut bodies); colliders.insert_with_parent(collider, body, &mut bodies);
let rigid_body = RigidBodyBuilder::dynamic().position(Isometry::translation(0.0, 1.0, 0.0)); let rigid_body = RigidBodyBuilder::dynamic().position(Isometry::translation(0.0, 1.0, 0.0));
let body_part = bodies.insert(rigid_body); let body_part = bodies.insert(rigid_body);
let collider = ColliderBuilder::cuboid(1.0, 1.0, 1.0).density(1.0); let collider = ColliderBuilder::cuboid(1.0, 1.0, 1.0).density(1.0);
colliders.insert_with_parent(collider, body_part, &mut bodies); colliders.insert_with_parent(collider, body_part, &mut bodies);
let joint = SphericalJointBuilder::new() let joint = SphericalJointBuilder::new()
.local_anchor1(point![0.0, 4.0, 0.0]) .local_anchor1(point![0.0, 4.0, 0.0])
.local_anchor2(point![0.0, 0.0, 0.0]) .local_anchor2(point![0.0, 0.0, 0.0])
.motor_position(JointAxis::AngX, 1.0, 1000.0, 200.0) .motor_position(JointAxis::AngX, 1.0, 1000.0, 200.0)
.motor_position(JointAxis::AngY, 0.0, 1000.0, 200.0) .motor_position(JointAxis::AngY, 0.0, 1000.0, 200.0)
.motor_position(JointAxis::AngZ, 0.0, 1000.0, 200.0); .motor_position(JointAxis::AngZ, 0.0, 1000.0, 200.0);
multibody_joints.insert(body, body_part, joint, true); multibody_joints.insert(body, body_part, joint, true);
testbed.set_world(bodies, colliders, impulse_joints, multibody_joints); testbed.set_world(bodies, colliders, impulse_joints, multibody_joints);
testbed.look_at(point![20.0, 0.0, 0.0], point![0.0, 0.0, 0.0]); testbed.look_at(point![20.0, 0.0, 0.0], point![0.0, 0.0, 0.0]);
} }