aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSébastien Crozet <developer@crozet.re>2022-01-02 14:47:40 +0100
committerSébastien Crozet <developer@crozet.re>2022-01-02 16:58:36 +0100
commitf74b8401ad9ef50b8cdbf1f43a2b21f6c42b0ebc (patch)
tree53ac492fea5942a7d466f58a0095f39505674ea4
parentb45d4b5ac2b31856c15e802b31e288a58940cbf2 (diff)
downloadrapier-f74b8401ad9ef50b8cdbf1f43a2b21f6c42b0ebc.tar.gz
rapier-f74b8401ad9ef50b8cdbf1f43a2b21f6c42b0ebc.tar.bz2
rapier-f74b8401ad9ef50b8cdbf1f43a2b21f6c42b0ebc.zip
Implement multibody joints and the new solver
-rw-r--r--.github/workflows/rapier-ci-build.yml24
-rw-r--r--Cargo.toml22
-rw-r--r--benchmarks2d/Cargo.toml6
-rw-r--r--benchmarks2d/balls2.rs6
-rw-r--r--benchmarks2d/boxes2.rs5
-rw-r--r--benchmarks2d/capsules2.rs5
-rw-r--r--benchmarks2d/convex_polygons2.rs5
-rw-r--r--benchmarks2d/heightfield2.rs5
-rw-r--r--benchmarks2d/joint_ball2.rs13
-rw-r--r--benchmarks2d/joint_fixed2.rs21
-rw-r--r--benchmarks2d/joint_prismatic2.rs15
-rw-r--r--benchmarks2d/pyramid2.rs5
-rw-r--r--benchmarks3d/Cargo.toml6
-rw-r--r--benchmarks3d/all_benchmarks3.rs8
-rw-r--r--benchmarks3d/balls3.rs5
-rw-r--r--benchmarks3d/boxes3.rs5
-rw-r--r--benchmarks3d/capsules3.rs5
-rw-r--r--benchmarks3d/ccd3.rs5
-rw-r--r--benchmarks3d/compound3.rs5
-rw-r--r--benchmarks3d/convex_polyhedron3.rs5
-rw-r--r--benchmarks3d/heightfield3.rs5
-rw-r--r--benchmarks3d/joint_ball3.rs13
-rw-r--r--benchmarks3d/joint_fixed3.rs19
-rw-r--r--benchmarks3d/joint_prismatic3.rs22
-rw-r--r--benchmarks3d/joint_revolute3.rs24
-rw-r--r--benchmarks3d/keva3.rs5
-rw-r--r--benchmarks3d/pyramid3.rs5
-rw-r--r--benchmarks3d/stacks3.rs5
-rw-r--r--benchmarks3d/trimesh3.rs5
-rw-r--r--crates/rapier2d-f64/Cargo.toml (renamed from build/rapier2d-f64/Cargo.toml)10
-rw-r--r--crates/rapier2d/Cargo.toml (renamed from build/rapier2d/Cargo.toml)10
-rw-r--r--crates/rapier3d-f64/Cargo.toml (renamed from build/rapier3d-f64/Cargo.toml)10
-rw-r--r--crates/rapier3d/Cargo.toml (renamed from build/rapier3d/Cargo.toml)10
-rw-r--r--crates/rapier_testbed2d/Cargo.toml (renamed from build/rapier_testbed2d/Cargo.toml)12
-rw-r--r--crates/rapier_testbed3d/Cargo.toml (renamed from build/rapier_testbed3d/Cargo.toml)12
-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
-rw-r--r--examples3d/Cargo.toml6
-rw-r--r--examples3d/all_examples3.rs11
-rw-r--r--examples3d/articulations3.rs678
-rw-r--r--examples3d/ccd3.rs5
-rw-r--r--examples3d/collision_groups3.rs5
-rw-r--r--examples3d/compound3.rs5
-rw-r--r--examples3d/convex_decomposition3.rs6
-rw-r--r--examples3d/convex_polyhedron3.rs5
-rw-r--r--examples3d/damping3.rs12
-rw-r--r--examples3d/debug_add_remove_collider3.rs6
-rw-r--r--examples3d/debug_articulations3.rs98
-rw-r--r--examples3d/debug_big_colliders3.rs5
-rw-r--r--examples3d/debug_boxes3.rs9
-rw-r--r--examples3d/debug_cylinder3.rs5
-rw-r--r--examples3d/debug_dynamic_collider_add3.rs6
-rw-r--r--examples3d/debug_friction3.rs5
-rw-r--r--examples3d/debug_infinite_fall3.rs5
-rw-r--r--examples3d/debug_prismatic3.rs24
-rw-r--r--examples3d/debug_rollback3.rs6
-rw-r--r--examples3d/debug_shape_modification3.rs6
-rw-r--r--examples3d/debug_triangle3.rs5
-rw-r--r--examples3d/debug_trimesh3.rs5
-rw-r--r--examples3d/domino3.rs5
-rw-r--r--examples3d/fountain3.rs11
-rw-r--r--examples3d/harness_capsules3.rs5
-rw-r--r--examples3d/heightfield3.rs5
-rw-r--r--examples3d/joints3.rs248
-rw-r--r--examples3d/keva3.rs5
-rw-r--r--examples3d/locked_rotations3.rs5
-rw-r--r--examples3d/one_way_platforms3.rs6
-rw-r--r--examples3d/platform3.rs5
-rw-r--r--examples3d/primitives3.rs19
-rw-r--r--examples3d/rapier.databin0 -> 2017666 bytes
-rw-r--r--examples3d/restitution3.rs5
-rw-r--r--examples3d/sensor3.rs5
-rw-r--r--examples3d/trimesh3.rs5
-rwxr-xr-xpublish-testbeds.sh10
-rw-r--r--src/counters/mod.rs4
-rw-r--r--src/data/coarena.rs12
-rw-r--r--src/data/graph.rs52
-rw-r--r--src/dynamics/integration_parameters.rs96
-rw-r--r--src/dynamics/island_manager.rs13
-rw-r--r--src/dynamics/joint/ball_joint.rs148
-rw-r--r--src/dynamics/joint/fixed_joint.rs73
-rw-r--r--src/dynamics/joint/generic_joint.rs144
-rw-r--r--src/dynamics/joint/impulse_joint/impulse_joint.rs20
-rw-r--r--src/dynamics/joint/impulse_joint/impulse_joint_set.rs (renamed from src/dynamics/joint/joint_set.rs)73
-rw-r--r--src/dynamics/joint/impulse_joint/mod.rs6
-rw-r--r--src/dynamics/joint/joint.rs143
-rw-r--r--src/dynamics/joint/joint_data.rs270
-rw-r--r--src/dynamics/joint/mod.rs27
-rw-r--r--src/dynamics/joint/motor_model.rs (renamed from src/dynamics/joint/spring_model.rs)36
-rw-r--r--src/dynamics/joint/multibody_joint/mod.rs15
-rw-r--r--src/dynamics/joint/multibody_joint/multibody.rs1021
-rw-r--r--src/dynamics/joint/multibody_joint/multibody_joint.rs571
-rw-r--r--src/dynamics/joint/multibody_joint/multibody_joint_set.rs352
-rw-r--r--src/dynamics/joint/multibody_joint/multibody_link.rs173
-rw-r--r--src/dynamics/joint/multibody_joint/multibody_workspace.rs27
-rw-r--r--src/dynamics/joint/multibody_joint/unit_multibody_joint.rs122
-rw-r--r--src/dynamics/joint/prismatic_joint.rs289
-rw-r--r--src/dynamics/joint/revolute_joint.rs220
-rw-r--r--src/dynamics/joint/spherical_joint.rs91
-rw-r--r--src/dynamics/mod.rs15
-rw-r--r--src/dynamics/rigid_body_components.rs168
-rw-r--r--src/dynamics/rigid_body_set.rs18
-rw-r--r--src/dynamics/solver/categorization.rs36
-rw-r--r--src/dynamics/solver/delta_vel.rs24
-rw-r--r--src/dynamics/solver/generic_velocity_constraint.rs377
-rw-r--r--src/dynamics/solver/generic_velocity_constraint_element.rs348
-rw-r--r--src/dynamics/solver/interaction_groups.rs13
-rw-r--r--src/dynamics/solver/island_solver.rs151
-rw-r--r--src/dynamics/solver/joint_constraint/ball_position_constraint.rs266
-rw-r--r--src/dynamics/solver/joint_constraint/ball_position_constraint_wide.rs216
-rw-r--r--src/dynamics/solver/joint_constraint/ball_velocity_constraint.rs660
-rw-r--r--src/dynamics/solver/joint_constraint/ball_velocity_constraint_wide.rs359
-rw-r--r--src/dynamics/solver/joint_constraint/fixed_position_constraint.rs151
-rw-r--r--src/dynamics/solver/joint_constraint/fixed_position_constraint_wide.rs71
-rw-r--r--src/dynamics/solver/joint_constraint/fixed_velocity_constraint.rs436
-rw-r--r--src/dynamics/solver/joint_constraint/fixed_velocity_constraint_wide.rs539
-rw-r--r--src/dynamics/solver/joint_constraint/generic_position_constraint.rs346
-rw-r--r--src/dynamics/solver/joint_constraint/generic_position_constraint_wide.rs60
-rw-r--r--src/dynamics/solver/joint_constraint/generic_velocity_constraint.rs706
-rw-r--r--src/dynamics/solver/joint_constraint/generic_velocity_constraint_wide.rs464
-rw-r--r--