Commit Graph

286 Commits

Author SHA1 Message Date
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 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 83cb981a88 Fix regression in CCD resolution. 2021-04-27 16:43:24 +02:00
Crozet Sébastien 3cab54b880 Fix some warnings. 2021-04-27 14:37:39 +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 31138c252d Make the CCDSolver clonable and serializable. 2021-04-03 12:04:00 +02:00
Crozet Sébastien e66740e950 Release v0.7.0 2021-04-02 14:20:51 +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 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 4fb898c77c Remove useless rigid-body fields. 2021-04-01 09:46:13 +02:00
Crozet Sébastien 1b073e98b4 Remove the IntegrationParameters field we don't use. 2021-03-31 18:41:02 +02:00
Crozet Sébastien ab876964a0 Revert the warmstart_correction_slope to its previous value. 2021-03-31 16:55:33 +02:00
Crozet Sébastien 4e84c122df Fix more warnings. 2021-03-31 16:55:18 +02:00
Crozet Sébastien 80f487fd4a Test to see how the warmstart correction affect the benchmarks. 2021-03-31 16:35:33 +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 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 c3a0c67272 Add missing files. 2021-03-29 17:23:05 +02:00
Crozet Sébastien a733f97028 Implement the ability to run multiple CCD substeps. 2021-03-29 17:21:49 +02:00
Crozet Sébastien 8173e7ada2 Allow collider modification after its insersion to the ColliderSet. 2021-03-29 14:54:54 +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
Waridley 5592daf7fa Derive Clone for JointSet 2021-03-04 18:05:26 -06:00
Emil Ernerfeldt 589c6ce834 Call update_world_mass_properties from RigidBody::set_mass_properties 2021-03-04 09:09:29 +01:00
Crozet Sébastien 1609d93243 Fix missing sqrt when setting the angular inertia of a rigid-body. 2021-03-03 10:20:14 +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