Commit Graph

746 Commits

Author SHA1 Message Date
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
412fedf7e3 Start fixing the parallel version. 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
e740493b98 Minor island solver simplification 2022-03-20 21:49:16 +01:00
Sébastien Crozet
0bb0e412e6 Rename JointHandle -> ImpulseJointHandle 2022-03-20 21:49:16 +01:00
Sébastien Crozet
7703333781 Merge pull request #286 from funmaker/sleep_fix
Fix rigid bodies falling asleep when linear/angular threshold is negative
2022-03-06 22:45:28 +01:00
Nathan Stocks
4f9d21f4fd derive Debug for IntegrationParameters 2022-02-24 15:35:35 -07:00
Sébastien Crozet
15b165893c Use WReal instead of SimdRealField everywhere 2022-02-21 21:19:30 +01:00
Sébastien Crozet
19a00885d6 Use a threshold for utils::inv and simd_inv 2022-02-21 21:16:38 +01:00
Fun Maker
8c5f88738d Fix rigid bodies falling asleep when linear/angular threshold is negative. 2022-01-31 20:23:42 +01:00
Joonas Satka
febeec8616 Update old documentation of raycast methods parameters 2022-01-29 15:10:56 +02:00
Sébastien Crozet
3e25e3efba Fix the application of damping to bodies part of an active island 2022-01-28 20:28:49 +01:00
Sébastien Crozet
0c7ebae1aa Run cargo fmt 2022-01-23 18:04:24 +01:00
zhguchev
536122e080 add defaults for the several structs 2022-01-23 18:01:50 +01:00
Sébastien Crozet
5e2111bdb1 Fix compilation of parallel version 2022-01-23 17:06:42 +01:00
Sébastien Crozet
9bfcde25e0 Run cargo fmt 2022-01-23 16:59:03 +01:00
Sébastien Crozet
78c8bc6cde Improve cfm configuration using the critical damping factor 2022-01-23 16:50:26 +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
4454a845e9 Merge pull request #276 from dimforge/lock-translation-axis
Allow locking individual translational axes
2022-01-16 07:52:19 -08:00
Sébastien Crozet
8213e92f14 Fix parallel build. 2022-01-16 16:37:44 +01:00
Sébastien Crozet
0ccd15c4b1 Merge pull request #270 from tjamaan/fix_RigidBodyVelocity_rotation_center
fix the parameter used for local center of mass
2022-01-10 11:38:43 -08:00
Sébastien Crozet
b631fe9193 Allow locking individual translational axes 2022-01-09 22:15:36 +01:00
Sébastien Crozet
87ec0ced40 Address issues with the genral-case for multibody joints 2022-01-08 21:09:11 +01:00
Turki Jamaan
367fc3405f remove unnecessary comment
Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2022-01-08 21:37:13 +03:00
Turki Jamaan
e41fccb9fb fix the parameter used for local center of mass 2022-01-08 20:04:22 +03:00
Sébastien Crozet
1308db8994 Merge pull request #267 from dimforge/multibody
Implement multibody joints, and new velocity-based constraints solver
2022-01-02 18:05:50 +01:00
Sébastien Crozet
9f9d329360 Fix tests 2022-01-02 17:43:38 +01:00
Sébastien Crozet
90edb4b532 More warning fixes + temporarily disable -D warning in the CI 2022-01-02 17:29:34 +01:00
Sébastien Crozet
fcf9e61e28 Fix warnings 2022-01-02 17:25:15 +01:00
Sébastien Crozet
ae27e1c331 Run cargo fmt 2022-01-02 17:22:37 +01:00
Sébastien Crozet
f74b8401ad Implement multibody joints and the new solver 2022-01-02 16:58: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
8fa6653820 Remove useless ref 2021-11-05 10:47:03 +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
601955b4ee Remove duplicate test 2021-10-24 13:36:29 +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
d858ae4c4e Make the 2D add-remove demo more intereting. 2021-09-12 01:49:09 -07:00
Sébastien Crozet
5e133aac92 Fix broad-phase bug that could result in missed collision pairs when an object leaves then re-enter a region 2021-09-12 01:49:09 -07:00
Sébastien Crozet
b364a2b052 Fix velocity computation for position-based kinematic bodies 2021-09-12 01:49:09 -07:00
Benjamin Saunders
291be142a5 Clarify coordinate space of TOI query results 2021-08-30 10:12:59 +02:00
Kane Rogers
3f223aaf9e Fix bug with colliders without rigid bodies
- When `NarrowPhase` adds a collision pair, it checks to make sure that they don't have the same parent
- In the case where the colliders have no parents (eg. they are not attached to a `RigidBody`) this yields a false positive.
- The fix is to ensure that colliders have a parent before ignoring the pair.
2021-08-26 10:29:24 +02:00
Sébastien Crozet
57aec69c1e Update to nalgebra 0.29 2021-08-08 19:19:16 +02:00
Sébastien Crozet
13aebc4242 Fix warnings. 2021-08-08 18:38:12 +02:00
Sébastien Crozet
16af01da42 Run cargo fmt 2021-08-08 18:38:12 +02:00
Sébastien Crozet
eb8f6d360d Fix 2D ball joint limits. 2021-08-08 18:38:12 +02:00
Sébastien Crozet
f7643272f4 Implement limits for ball joints. 2021-08-08 18:38:12 +02:00
Sébastien Crozet
ac77c95c9c Implement limits for revolute joints. 2021-08-08 18:38:12 +02:00
Sébastien Crozet
fd778b607f Fix emscripten build + add emscripten build to the CI 2021-07-30 11:29:32 +02:00