Commit Graph

1234 Commits

Author SHA1 Message Date
Crozet Sébastien
ad5c10672e Use contact ids instead of contact reordering in order to identify the impulse writeback location. 2021-02-22 17:52:03 +01:00
Sébastien Crozet
d31a327b45 Merge pull request #119 from dimforge/joint_drive
Add joint motors
2021-02-22 17:40:29 +01:00
Crozet Sébastien
e5c4c2e8ff Ball joint: remove unused field. 2021-02-22 15:06:33 +01:00
Crozet Sébastien
0910e3235b Use the github versions of nalgebra and parry until they are released. 2021-02-22 14:53:47 +01:00
Crozet Sébastien
0eec28325e Fix warnings. 2021-02-22 14:20:06 +01:00
Crozet Sébastien
4c9138fd2b Some minor cleanup and joint constraint refactoring. 2021-02-22 13:58:43 +01:00
Crozet Sébastien
052a5a5fc0 Make Simd prismatic joint limit code transmit torque. 2021-02-22 13:44:38 +01:00
Crozet Sébastien
73192d41c2 Make prismatic joint limit transmit torque. 2021-02-22 13:22:15 +01:00
Crozet Sébastien
aaba6c8927 Add motors to prismatic joints. 2021-02-22 12:12:24 +01:00
Crozet Sébastien
f204a5f736 Take max motor impulse into account for the ball joint. 2021-02-22 10:15:13 +01:00
Crozet Sébastien
cc8dc13fc0 Add actuated ball and revolute joint to the 3D joint demo. 2021-02-21 17:23:24 +01:00
Crozet Sébastien
01496d43e5 Add motors to ball joints. 2021-02-21 17:15:00 +01:00
Crozet Sébastien
f5515c3973 Fix lever-arm handling in the revolute joint. 2021-02-21 17:14:43 +01:00
Crozet Sébastien
dc8ccc0c30 Make revolute joint actuation work properly even when SIMD is enabled. 2021-02-19 17:32:09 +01:00
Crozet Sébastien
e9f17f32e8 Complete the implementation of non-simd joint motor for the revolute joint. 2021-02-19 15:21:25 +01:00
Sébastien Crozet
c650bb1fef Merge pull request #114 from EmbarkStudios/split-contacts-2
Split bouncy and resting contacts (take 2)
2021-02-18 18:39:52 +01:00
Emil Ernerfeldt
5e7eedc3fd Always apply the predictive contact term, even for bouncing contacts 2021-02-18 17:58:17 +01:00
Emil Ernerfeldt
287cd46295 Remove unused restitution_velocity_threshold parameter 2021-02-18 15:41:46 +01:00
Emil Ernerfeldt
f9e3d382d2 New contacts are bouncy, old are resting
If a contact is new (previous impluse = 0), then we treat it as bouncy (respecting restitution).
If the contact is old we treat it as resting.

Exceptions for restitutions <=0 and >= 1.
2021-02-18 15:41:46 +01:00
Sébastien Crozet
9a15838ad5 Merge pull request #118 from EmbarkStudios/collider-handles-in-filter
Add ColliderHandle:s to PairFilterContext
2021-02-18 13:53:05 +01:00
Crozet Sébastien
a1ddda5077 Revolute joint constraints: properly adjust the angular impulse and torque projection. 2021-02-17 15:57:58 +01:00
Emil Ernerfeldt
f2d9225101 Add ColliderHandle:s to PairFilterContext
This makes it easy to write custom filters based on the handles.

For instance, a user can add pairs of `ColliderHandle`s into a `HashSet` and
do a lookup in a `ContactPairFilter` to easily (if maybe not efficiently)
disable collisions between pairs of colliders.

The same could be accomplished by using the `user_data: u128` field of the
`Collider`, but it would be less ergonomic, and also with this PR that
`user_data` space can be saved for more important things.
2021-02-17 11:19:51 +01:00
Crozet Sébastien
4f8f8017f4 Properly writeback the generic constrainst impulse when it comes from a revolute joint. 2021-02-15 16:44:55 +01:00
Crozet Sébastien
ebd5562af3 Generic velocity constraint: split the translation and rotation terms. 2021-02-15 12:08:18 +01:00
Crozet Sébastien
de39a41faa Implement non-linear position stabilization for the generic constraint. 2021-02-15 11:20:09 +01:00
Sébastien Crozet
12c5dd4caa Merge pull request #112 from alec-deason/typo
Fix a small documentation typo on InteractionGroups
2021-02-14 10:20:56 +01:00
Alec Deason
365426555c Fix a small documentation typo 2021-02-13 20:03:51 -08:00
Crozet Sébastien
d9b6198fa0 Various generic joint fixes. 2021-02-12 16:00:57 +01:00
Crozet Sébastien
cc80e40067 More experiments with the way the generic joint is stabilized. 2021-02-11 18:52:07 +01:00
Crozet Sébastien
5b80c4efbf Start experimenting with a generic joint implementation for joint drives. 2021-02-11 15:58:46 +01:00
Sébastien Crozet
3be8669206 Merge pull request #102 from EmbarkStudios/apply-forces-in-velocity-solver
Apply accelerations during velocity solver
2021-02-11 10:17:58 +01:00
Emil Ernerfeldt
e870acf011 Omit integrate_accelerations in feature = parallel 2021-02-08 17:15:31 +01:00
Emil Ernerfeldt
d999e0e8c6 Apply accelerations during velocity solver
Closes https://github.com/dimforge/rapier/issues/97

Instead of applying accelerations from gravity and external forces
as a separate step, this PR switches to applying them in the velocity solver.
2021-02-08 17:15:28 +01:00
Emil Ernerfeldt
17ef7e10f9 Replace linacc/angacc with force/torque inside of RigidBody
I also improved the documentation for the various force/impulse applying functions.
2021-02-08 15:54:17 +01:00
Sébastien Crozet
244afd529b Merge pull request #107 from dimforge/serialization_perf
Don't serialize solver contacts + remove erased-serde dependency.
2021-02-08 11:24:09 +01:00
Crozet Sébastien
e24d73a255 Don't serialize solver contacts + remove erased-serde dependency. 2021-02-08 10:47:58 +01:00
Sébastien Crozet
a272f4ce9e Merge pull request #104 from EmbarkStudios/clippy-fixes
Make clippy a bit happier
2021-02-04 18:20:27 +01:00
Sébastien Crozet
a023040825 Merge pull request #103 from EmbarkStudios/energy-inspection
Add functions for kinetic and potential energy of a RigidBody
2021-02-04 18:07:09 +01:00
Emil Ernerfeldt
85bc81d4fc Make clippy a bit happier 2021-02-04 13:11:04 +01:00
Emil Ernerfeldt
4c1aac25a7 Add functions for kinetic and potential energy of a RigidBody 2021-02-04 12:42:33 +01:00
Sébastien Crozet
88cde90425 Merge pull request #99 from extrawurst/patch-1
fix some typos in docs
2021-02-02 15:15:59 +01:00
Stephan Dilly
7e226cc50a fix some typos in docs 2021-02-02 15:01:19 +01:00
Crozet Sébastien
6a7c0831ad Add other missing entries to the CHANGELOG. 2021-01-29 17:23:00 +01:00
Crozet Sébastien
b048f43ea3 Add a missing entry to the CHANGELOG. 2021-01-29 15:10:28 +01:00
Crozet Sébastien
c3f0207094 Release v0.5.0 2021-01-29 14:52:18 +01:00
Sébastien Crozet
7ca46f38cd Merge pull request #79 from dimforge/split_geom
Move most of the geometric code to another crate.
2021-01-29 14:42:32 +01:00
Crozet Sébastien
825f33efae Update the CHANGELOG. 2021-01-29 14:25:18 +01:00
Crozet Sébastien
0fd0e771e0 Remove cargo patches. 2021-01-29 14:09:08 +01:00
Crozet Sébastien
ac1e38849f Update Cargo badges and categories. 2021-01-29 13:37:04 +01:00
Crozet Sébastien
8ff2bcc3ec Add all the missing docs. 2021-01-27 14:20:14 +01:00