Sébastien Crozet
f41a6fb76d
Merge pull request #122 from dimforge/dominance
...
Implement dominance groups
2021-02-25 15:38:10 +01:00
Sébastien Crozet
8e40ab758d
Merge pull request #123 from EmbarkStudios/modify-joints
...
Add JointSet::get_mut and get_unknown_gen_mut
2021-02-24 16:17:17 +01:00
Emil Ernerfeldt
277d74fb18
less mut
...
Co-authored-by: Sébastien Crozet <sebastien@crozet.re >
2021-02-24 15:59:11 +01:00
Emil Ernerfeldt
69afb2914a
less mut
...
Co-authored-by: Sébastien Crozet <sebastien@crozet.re >
2021-02-24 15:59:06 +01:00
Emil Ernerfeldt
504b84bb06
Add JointSet::get_mut and get_unknown_gen_mut
...
Fix https://github.com/dimforge/rapier/issues/121
2021-02-24 15:20:48 +01:00
Crozet Sébastien
9cdd34c741
Fix the parallel build.
2021-02-24 13:40:26 +01:00
Crozet Sébastien
96ecb877e2
Implement dominance.
2021-02-24 13:26:51 +01:00
Sébastien Crozet
649eba1013
Merge pull request #120 from dimforge/contact_modification
...
Add the ability to modify the contact points seen by the constraints solver
2021-02-24 11:26:53 +01:00
Crozet Sébastien
3cc2738e5f
Fix warnings in the WASM build.
2021-02-23 16:47:48 +01:00
Crozet Sébastien
a60c6e5fdd
Fix the compilation of tests.
2021-02-23 16:26:02 +01:00
Crozet Sébastien
0f0f2c344f
Rename modify_contacts -> modify_solver_contacts.
2021-02-23 16:02:19 +01:00
Crozet Sébastien
babcab0bed
Update the testbed to use PhysicsHooks.
2021-02-23 15:49:23 +01:00
Crozet Sébastien
f8bf96fdc8
Add a helper function for one-way platforms.
2021-02-23 15:48:04 +01:00
Crozet Sébastien
b3405e5672
Add a method to modify all the active dynamic bodies on the RigidBodySet.
2021-02-23 15:47:44 +01:00
Crozet Sébastien
3fdb4cd6d3
Properly take the tangent_velocity into account in the velocity solver.
2021-02-23 15:47:24 +01:00
Crozet Sébastien
4ca32a9546
Add one-way platform + conveyor belt demos.
2021-02-23 15:43:43 +01:00
Crozet Sébastien
00706e8b36
Introduce the PhysicsHook trait used for both contact filtering and contact modification.
2021-02-23 11:24:54 +01:00
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