Commit Graph

31 Commits

Author SHA1 Message Date
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