Commit Graph

107 Commits

Author SHA1 Message Date
Sébastien Crozet
cd9fb8342d feat: add RigidBody::copy_from and Collider::copy_from
Closes #595
2024-03-23 14:19:52 +01:00
Sébastien Crozet
6886f8f207 feat: add RigidBody::predict_position_using_velocity
Fix #601
2024-03-23 11:10:57 +01:00
Sébastien Crozet
da92e5c283 Fix clippy and enable clippy on CI 2024-01-27 17:13:08 +01:00
Sébastien Crozet
d1fc90c150 feat: rework solver parameters to make it easy to recover the old behaviors 2024-01-24 21:57:54 +01:00
Sébastien Crozet
9b87f06a85 feat: implement new "small-steps" solver + joint improvements 2024-01-21 21:02:27 +01:00
Sébastien Crozet
7d2111d0b9 Merge pull request #511 from Triuman/master
fix lock_translations & lock_rotations doesn't work both ways
2023-09-09 12:58:38 +02:00
Bruce Mitchener
4c2d18a0cd docs: Minor fixes. 2023-08-28 11:05:45 +07:00
Triuman
fd0c8d3dc7 fix lock_rotations doesn't work both ways 2023-08-10 09:29:11 +02:00
Triuman
f7b02f2a1d fix lock_translations doesn't work both ways 2023-08-10 09:26:27 +02:00
MrGunflame
6d72192955 Fix doc-links for ColliderBuilder and RigidBodyBuilder 2023-03-30 17:15:43 +02:00
Sébastien Crozet
789555e9e3 Fix docs for method setting kinematic translation/rotation 2023-03-26 15:18:39 +02:00
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