Commit Graph

309 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 fb20d72ee2 Joint API and joint motors improvements 2022-03-20 21:49:16 +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 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 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
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 601955b4ee Remove duplicate test 2021-10-24 13:36:29 +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
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 37a90a5409 Add missing comments. 2021-07-30 11:09:15 +02:00
Crozet Sébastien 729e510c00 Make BroadPhasePairEvent and ColliderPair public.
Otherewise it is impossible to use BroadPhase::update properly.
2021-07-30 11:09:15 +02:00
Benjamin Saunders 92b8580761 Update intersection graph regardless of active_events 2021-07-14 20:16:19 +02:00
Crozet Sébastien 8e0aa2ac79 Add methods to set the translation or rotation wrt. a collider and its parent. 2021-07-12 10:10:59 +02:00
Waridley 9233a855f0 impl more traits for components 2021-07-11 18:22:39 +02:00
Waridley 62d6b0651b Derive Clone for IslandManager
also fix typo
2021-06-09 11:07:37 +02:00
Crozet Sébastien ff6c75f3bd Fix collider removal from narrow-phase when the same collider is listed twice. 2021-06-08 18:23:40 +02:00
Crozet Sébastien fdd370e51a Release v0.9.0 2021-06-02 18:01:23 +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
Sébastien Crozet ad2fcf755a Merge pull request #176 from sdfgeoff/add_collider_shared_shape_method
Created a method to retrieve the SharedShape from a collider
2021-06-02 17:32:56 +02:00
Crozet Sébastien bde6657287 Fix tests and wasm build. 2021-06-02 16:22:40 +02:00
Crozet Sébastien 7153eb7779 Add ActiveCollisionTypes to easily enable collision-detection between two non-static rigid-body. 2021-06-01 17:59:07 +02:00
Crozet Sébastien dbb3c8f43b CCD: take collision groups into account 2021-06-01 14:56:24 +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 716c343979 Add #[must_use] to builders, expose more fields 2021-05-06 20:41:13 +02:00
Crozet Sébastien f350ac35d9 Fix crash in broad-phase after shape modification.
Fix #180 and #177
2021-05-01 10:21:57 +02:00
Crozet Sébastien 2dfbd9ae92 Add comments. 2021-04-30 11:37:58 +02:00
Crozet Sébastien ac8ec8e351 Fix tests. 2021-04-29 13:03:54 +02:00
Crozet Sébastien 705876f5e5 Restore the collision pipeline 2021-04-29 10:26:44 +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
Geoffrey Irons b8a31e0869 Created a method to retrieve the SharedShape from a collider
In my case this is for creating a compound shape from a set of existing colliders
2021-04-18 12:51:44 +12:00
Crozet Sébastien 88b7a5588b Add comment regarding the fix. 2021-04-03 12:12:12 +02:00
Crozet Sébastien 5a0e6471cd Fix crash caused by a collider being remove before the first timestep. 2021-04-03 12:03:49 +02:00
Crozet Sébastien d9d89afb6e Fix determinism problem in the broad-phase after snapshot restoration. 2021-04-02 16:23:20 +02:00
Crozet Sébastien e66740e950 Release v0.7.0 2021-04-02 14:20:51 +02:00
Crozet Sébastien a484511718 ColliderSet::handle_user_changes - don't drain the set of modified colliders. 2021-03-31 18:12:00 +02:00
Crozet Sébastien a6b8b4b638 Fix tests. 2021-03-31 17:46:59 +02:00
Crozet Sébastien 365cce73f5 Make the collider shape mutable. 2021-03-31 14:07:32 +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 8173e7ada2 Allow collider modification after its insersion to the ColliderSet. 2021-03-29 14:54:54 +02:00
Crozet Sébastien dec3e4197f Small refactoring of the PhysicsPipeline. 2021-03-28 11:54:33 +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