Sébastien Crozet
c1be3e8578
feat: documentation improvements ( #884 )
2025-10-17 12:59:19 +02:00
Sébastien Crozet
134f433903
feat: solver improvements + release v0.29.0 ( #876 )
...
* feat: solver improvements
* feat: add function to get/set whether gyroscopic forces are enabled on a rigid-body
* chore: switch to released versions of parry and wide instead of local patches
* fix cargo doc
* chore: typo fixes
* chore: clippy fix
* Release v0.29.0
* chore: more clippy fixes
2025-09-05 19:31:58 +02:00
Thierry Berger
510237cc29
Profiling support ( #743 )
2024-11-19 16:33:26 +01:00
Thierry Berger
01dd200152
ci: cargo doc step ( #671 )
2024-07-12 16:29:22 +02:00
Sébastien Crozet
3004a7d38d
chore: update to nalgebra 0.33 and parry 0.16 ( #664 )
2024-06-23 22:57:51 +02:00
Bruce Mitchener
f13ca5cf1c
Fix typo in internal variable name.
2024-05-25 22:20:27 +07:00
Sébastien Crozet
62379de9ec
feat: add simple inverse-kinematics solver for multibodies ( #632 )
...
* feat: add a simple jacobian-based inverse-kinematics implementation for multibodies
* feat: add 2d inverse kinematics example
* feat: make forward_kinematics auto-fix the root’s degrees of freedom
* feat: add 3d inverse kinematics example
* chore: update changelog
* chore: clippy fixes
* chore: more clippy fixes
* fix tests
2024-05-25 10:36:34 +02:00
Sébastien Crozet
0a9153e273
chore: clippy fixes
2024-04-30 23:10:46 +02:00
Sébastien Crozet
929aa6b925
feat: rename collision_skin to contact_skin
2024-04-30 23:10:46 +02:00
Sébastien Crozet
664645159d
feat: implement collision skin
2024-04-30 23:10:46 +02:00
Sébastien Crozet
f58b4f7c19
feat: add warmstarting to contact constraints resolution
2024-04-30 23:10:46 +02:00
Sébastien Crozet
9b87f06a85
feat: implement new "small-steps" solver + joint improvements
2024-01-21 21:02:27 +01:00
Sébastien Crozet
b9f76e2fda
Warning fixes
2022-07-01 12:00:32 +02:00
Sébastien Crozet
c9d8277377
Add contact force events generated above a user-defined threshold
2022-07-01 12:00:32 +02:00
Sébastien Crozet
ae40f4cd7e
Add collision event flags
2022-04-28 13:03:14 +02:00
Sébastien Crozet
d38740369c
Emit collision stopped events after a collider is removed.
2022-03-20 21:49:16 +01:00
Sébastien Crozet
db6a8c526d
Fix warnings and add comments.
2022-03-20 21:49:16 +01:00
Sébastien Crozet
815de4beff
Complete the parallel solver fix
2022-03-20 21:49:16 +01:00
Sébastien Crozet
28cc19d104
Allow removing a rigid-body without auto-removing attached colliders
2022-03-20 21:49:16 +01:00
Sébastien Crozet
f74b8401ad
Implement multibody joints and the new solver
2022-01-02 16:58:36 +01:00
Crozet Sébastien
1bef66fea9
Add prelude + use vectors for setting linvel/translation in builders
2021-05-25 11:00:13 +02:00
Crozet Sébastien
c32da78f2a
Split rigid-bodies and colliders into multiple components
2021-04-26 18:00:50 +02:00
Crozet Sébastien
d2ee642053
CCD: take angular motion and penetration depth into account in various thresholds.
2021-03-30 17:10:50 +02:00
Crozet Sébastien
7306821c46
Attenuate the warmstart impulse for CCD contacts.
...
CCD contacts result in very strong, instantaneous, impulses. So it is preferable to attenuate their contribution to subsequent timesteps to avoid overshooting.
2021-03-28 11:27:07 +02:00
Crozet Sébastien
bed47a82e7
Projection friction impulses on an implicit cone instead of a pyramidal approximation.
2021-03-07 11:44:19 +01:00
Crozet Sébastien
e45342d365
Fix determinism issue after restoring a snapshot.
2021-03-02 11:24:56 +01:00
Crozet Sébastien
96ecb877e2
Implement dominance.
2021-02-24 13:26:51 +01:00
Crozet Sébastien
babcab0bed
Update the testbed to use PhysicsHooks.
2021-02-23 15:49:23 +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
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
Crozet Sébastien
e24d73a255
Don't serialize solver contacts + remove erased-serde dependency.
2021-02-08 10:47:58 +01:00
Crozet Sébastien
8ff2bcc3ec
Add all the missing docs.
2021-01-27 14:20:14 +01:00
Crozet Sébastien
8f7220f03d
Rename cdl to parry.
2021-01-24 11:13:44 +01:00
Crozet Sébastien
0ade350b5f
Use newtypes for collider, rigid-body and joint handles.
2021-01-20 16:33:42 +01:00
Crozet Sébastien
261ed1ebed
Fix 2D compilation.
2021-01-06 12:53:26 +01:00
Crozet Sébastien
aa61fe65e3
Add support of 64-bits reals.
2021-01-04 15:14:25 +01:00
Crozet Sébastien
1feac2e02d
Restore contact events.
2020-12-31 11:37:42 +01:00
Crozet Sébastien
967145a949
Perform contact sorting in the narrow-phase directly.
2020-12-31 11:16:03 +01:00
Crozet Sébastien
43628c8846
Try using solver contacts again, but in a more cache-coherent way.
2020-12-30 17:30:07 +01:00
Crozet Sébastien
5876a262da
Remove the useless manifold.data.pair field.
2020-12-30 11:44:08 +01:00
Crozet Sébastien
8fe2df126a
Remove some irrelevant code.
2020-12-29 11:31:59 +01:00
Crozet Sébastien
e231bacec6
Move all the contact manifold computations out of Rapier.
2020-12-29 11:31:00 +01:00