Commit Graph

110 Commits

Author SHA1 Message Date
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
Sébastien Crozet fcf9e61e28 Fix warnings 2022-01-02 17:25:15 +01:00
Sébastien Crozet f74b8401ad Implement multibody joints and the new solver 2022-01-02 16:58:36 +01:00
Jamen Marz 7aa94e994f Impl Default for a few structs 2021-09-25 13:50:12 +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
Sébastien Crozet 8a3103a35b Merge pull request #195 from tpdickso/ungenerate-nans
Add feature flag to disable floating point exceptions in unexceptional code
2021-06-02 17:26:47 +02:00
Terence 94993901cd wip 2021-06-01 20:41:38 -04: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
Crozet Sébastien 5cf805075e Fix compilation of the parallel version 2021-04-29 12:09:35 +02:00
Crozet Sébastien 3810466326 Fix some warnings 2021-04-29 10:33:07 +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 a4fe46b5c4 Fix compilation in 2D. 2021-04-13 13:42:18 +02:00
Crozet Sébastien d70c6f82e3 Fix torque generation for the prismatic joint motor 2021-04-13 11:44:34 +02:00
Crozet Sébastien da9c3db5e8 Switch to nalgebra 0.26 2021-04-12 17:22:18 +02:00
Crozet Sébastien cc3f16eb85 Fix parallel build. 2021-04-01 10:22:00 +02:00
Crozet Sébastien 0ecc302971 Some small performance improvements. 2021-04-01 10:11:32 +02:00
Crozet Sébastien 4e84c122df Fix more warnings. 2021-03-31 16:55:18 +02:00
Crozet Sébastien e9f6384081 Fix the parallel solver to work properly with CCD. 2021-03-31 10:53:44 +02:00
Crozet Sébastien 88933bd431 Run the position solver after the CCD motion clamping. 2021-03-30 17:11:52 +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 97157c9423 First working version of non-linear CCD based on single-substep motion-clamping. 2021-03-26 18:16:27 +01:00
Crozet Sébastien 8dab63bda1 Fix regression in the WASM version of the velocity solver. 2021-03-08 15:14:54 +01:00
Crozet Sébastien 152ada67ec Fix regression causing invalid contacts to be solved. 2021-03-07 17:34:54 +01:00
Crozet Sébastien 0e4393ba9e Reduce code duplication between the SIMD and non-SIMD contact solve and warmstart. 2021-03-07 17:15:32 +01:00
Crozet Sébastien 4cb1f5c692 Fix warning when targetting wasm. 2021-03-07 11:55:10 +01: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
Emil Ernerfeldt 115bae172d fix the body-body revolute angle velocity erp 2021-02-26 11:06:29 +01:00
Emil Ernerfeldt f517601e17 Final cleanup 2021-02-26 11:06:29 +01:00
Emil Ernerfeldt 54eae9bb7b simplify prismatic limits 2021-02-26 11:06:29 +01:00
Emil Ernerfeldt 4ef7b1cefe Fix primatic wide 2021-02-26 11:06:29 +01:00
Emil Ernerfeldt a0824772c9 fix the revolute wide 2021-02-26 11:06:29 +01:00
Emil Ernerfeldt 9bbb081539 fix narrow revolute velocity 2021-02-26 11:06:29 +01:00
Emil Ernerfeldt 4ee09a8bc9 Fix the narrow pismatic velocity constraint 2021-02-26 11:06:29 +01:00
Emil Ernerfeldt 59796e4767 fix 2021-02-26 11:06:29 +01:00
Emil Ernerfeldt b94cdfa782 Implement ground wide 2021-02-26 11:06:29 +01:00
Emil Ernerfeldt 48afbac6ce Implement revolute wide 2021-02-26 11:06:29 +01:00
Emil Ernerfeldt 89de6903dc Implement prismatic wide 2021-02-26 11:06:29 +01:00
Emil Ernerfeldt 27366e27ff Implement fixed wide 2021-02-26 11:06:29 +01:00
Emil Ernerfeldt 48708d9a76 Implement revolute narrow 2021-02-26 11:06:29 +01:00
Emil Ernerfeldt d3f39a9bab Implemented prismatic narrow. Needs testing and close review 2021-02-26 11:06:29 +01:00
Emil Ernerfeldt ede4f0f770 cleanup 2021-02-26 11:06:29 +01:00