Commit Graph

96 Commits

Author SHA1 Message Date
Sébastien Crozet
89fc31f996 Give access to the world-space mass properties of rigid-bodies 2023-01-15 12:24:14 +01:00
Sébastien Crozet
d2ebb25c22 Add accessor to get the locked axes of a rigid-body 2023-01-15 12:24:07 +01:00
Sébastien Crozet
c77ed7c9bf Small coding style fix 2023-01-01 16:51:40 +01:00
fabriceci
95cd7d5c9c Adds methods to retrieve forces added by the user. 2023-01-01 16:49:52 +01:00
Sébastien Crozet
0207f8cf96 Properly take initial sleeping state set by the user when creating a rigid-body 2022-12-11 17:47:42 +01:00
Sébastien Crozet
849f398031 Add a dynamic ray-cast vehicle controller 2022-12-11 15:22:36 +01:00
Sébastien Crozet
46d976d97b Allow disabling colliders, rigid-bodies and impulse joints 2022-12-11 15:20:33 +01:00
Sébastien Crozet
d73508602e Auto-update a rigid-body’s world mass-properties when the user sets their position 2022-08-25 10:21:17 +02:00
Sébastien Crozet
68d250f0ad Merge pull request #380 from dimforge/set-rotation
Make Collider::set_rotation and RigidBody::set_rotation take a rotation instead of an axis-angle.
2022-08-09 10:06:20 +02:00
Sébastien Crozet
a19c6131ff Make Collider::set_rotation and RigidBody::set_rotation take a rotation instead of an axis-angle. 2022-08-09 09:26:12 +02:00
Sébastien Crozet
4025f62314 Rename allowed_translation/rotation to enabled_translation/rotation 2022-07-08 17:16:44 +02:00
Sébastien Crozet
72c2da5554 Fix 2D build 2022-07-08 12:01:04 +02:00
Sébastien Crozet
8c707ef02d cargo fmt 2022-07-08 11:55:44 +02:00
Sébastien Crozet
efaf16aaea Rename restrict_translation/rotation to set_allowed_translation/rotation 2022-07-08 11:48:31 +02:00
Sébastien Crozet
7831ebfc31 Add methods to read the mass or volume of a collider. 2022-07-05 15:15:17 +02:00
Sébastien Crozet
ba081fb6f5 Improve the API for initializing/setting mass-properties 2022-07-05 14:59:14 +02:00
Sébastien Crozet
5063f3bb4f Add the ability to disable contacts between two rigid-bodies attached by joints 2022-07-03 13:55:41 +02:00
Sébastien Crozet
6ce26f3818 CCD improvements
- Fix bug where the CCD thickness wasn’t initialized properly.
- Fix bug where the contact compliance would result in unwanted tunelling, despite CCD being enabled.
2022-05-30 18:29:18 +02:00
Sébastien Crozet
95418c218b Rename RigidBody::set_mass_properties -> set_additional_mass_properties 2022-04-28 13:03:55 +02:00
Sébastien Crozet
2b1374c596 First round deleting the component sets. 2022-04-20 19:02:49 +02:00
Sébastien Crozet
ee679427cd Fix mass-properties update after collider change 2022-04-20 17:11:06 +02:00
Sébastien Crozet
c26c8e4932 Type fix 2022-03-20 21:49:16 +01:00
Sébastien Crozet
a9e3441ecd Rename rigid-body static to fixed 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
8e07d8799f Rigid-body: don’t clear forces at end of timestep + don’t wake-up a rigid-body if the modified property is equal to the old value. 2022-03-20 21:49:16 +01:00
Sébastien Crozet
fb20d72ee2 Joint API and joint motors improvements 2022-03-20 21:49:16 +01:00
Sébastien Crozet
0703e5527f Fix some solver issues
- Fix the wrong codepath taken  by the solver for contacts involving a collider without parent.
- Properly adress the non-linear treatment of the friction direction
- Simplify the sleeping strategy
- Add an impulse resolution multiplier
2022-01-16 16:52:40 +01:00
Sébastien Crozet
b631fe9193 Allow locking individual translational axes 2022-01-09 22:15:36 +01:00
Dmitry Stepanov
8e7da5ad45 fixed restrict_rotations 2021-12-31 10:05:46 +01:00
Jakub Arnold
64e5a98833 Minor documentation fixes 2021-12-31 10:04:29 +01:00
Sébastien Crozet
b45d4b5ac2 Track the change of effective dominance of a rigid-body. 2021-10-26 15:38:54 +02:00
Benjamin Saunders
f73e68d34a Note CCD interpenetration behavior 2021-10-24 13:35:10 +02:00
Jamen Marz
7aa94e994f Impl Default for a few structs 2021-09-25 13:50:12 +02:00
Sébastien Crozet
c7b876e2f7 Merge pull request #173 from DasEtwas/must-use-pub
Add #[must_use] to builders, expose more fields
2021-06-02 17:37:13 +02:00
Crozet Sébastien
5ef81cda40 Add velocity-based kinematic bodies 2021-06-01 14:55:50 +02:00
Crozet Sébastien
826ce5f014 Rework the event system 2021-06-01 12:36:01 +02:00
Crozet Sébastien
1bef66fea9 Add prelude + use vectors for setting linvel/translation in builders 2021-05-25 11:00:13 +02:00
DasEtwas
810c39d427 Remove Copy from RigidBodyBuilder 2021-05-06 22:39:55 +02:00
DasEtwas
2817fb0acb Added documentation to newly public fields derived from setters 2021-05-06 20:42:24 +02:00
DasEtwas
716c343979 Add #[must_use] to builders, expose more fields 2021-05-06 20:41:13 +02:00
Crozet Sébastien
2dfbd9ae92 Add comments. 2021-04-30 11:37:58 +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
2a21f47136 Add getters indicating if the translation or rotation dofs of a rigid-body are locked. 2021-04-01 15:43:47 +02:00
Crozet Sébastien
0ecc302971 Some small performance improvements. 2021-04-01 10:11:32 +02:00
Crozet Sébastien
4fb898c77c Remove useless rigid-body fields. 2021-04-01 09:46:13 +02:00
Crozet Sébastien
3412e9ddbf Fix some warnings. 2021-03-31 12:35:54 +02:00
Crozet Sébastien
d82fc0d23d Fix body status modification. 2021-03-31 12:09:09 +02:00
Crozet Sébastien
1187ef796d Rename some RigidBodyBuilder mass-related setters to include "additional". 2021-03-31 10:55:36 +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
a733f97028 Implement the ability to run multiple CCD substeps. 2021-03-29 17:21:49 +02:00