Commit Graph

292 Commits

Author SHA1 Message Date
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
Crozet Sébastien
710dd8d71e Fix bug wher ethe broad-phase could miss some contacts pairs. 2021-03-26 18:16:51 +01: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
326469a1df Fix the last few bugs and unbounded memory usage. 2021-03-17 09:34:56 +01:00
Crozet Sébastien
d82a675b46 Experiment with a smaller region power basis. 2021-03-13 19:32:27 +01:00
Crozet Sébastien
b2c0f62003 Some tunning of the way layers are attributed to a collider. 2021-03-13 19:19:12 +01:00
Crozet Sébastien
3a1502be74 First complete implementation of the hierarchical SAP. 2021-03-13 18:00:58 +01:00
Crozet Sébastien
a967ace7d4 Start implementing SAPLayer creation and insertion. 2021-03-08 18:27:06 +01:00
Crozet Sébastien
7983c25606 Start introducing SAP layers. 2021-03-08 15:32:04 +01:00
Crozet Sébastien
0b80bc827c Split the broad-phase code into multiple files. 2021-03-08 15:32:04 +01:00
Sébastien Crozet
808ea02672 Merge pull request #141 from EmbarkStudios/per-collider-mass-props
Per collider mass props
2021-03-08 10:38:31 +01:00
Emil Ernerfeldt
0370e7e37d Store either density or mass properties but not both 2021-03-08 10:12:12 +01:00
Emil Ernerfeldt
05614dc471 docstring/spelling
Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2021-03-08 10:04:28 +01:00
Emil Ernerfeldt
22a402983c docstring/spelling
Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2021-03-08 10:04:21 +01:00
Emil Ernerfeldt
5154233176 docstring/spelling
Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2021-03-08 10:04:13 +01:00
Emil Ernerfeldt
018cc23639 docstring/spelling
Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2021-03-08 10:04:07 +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
0909077094 Use Box<Option<MassProperties>> instead to save on memory 2021-03-05 12:04:27 +01:00