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
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
Emil Ernerfeldt
64af425227
Add ability to set MassProperties for each ColliderBuilder
...
Fix https://github.com/dimforge/rapier/issues/132
2021-03-05 11:57:08 +01:00
Crozet Sébastien
e45342d365
Fix determinism issue after restoring a snapshot.
2021-03-02 11:24:56 +01:00
Crozet Sébastien
f53d0438ed
Contact modification: make the contact normal modifiable too.
2021-02-25 15:40:54 +01:00
Crozet Sébastien
96ecb877e2
Implement dominance.
2021-02-24 13:26:51 +01:00
Crozet Sébastien
0f0f2c344f
Rename modify_contacts -> modify_solver_contacts.
2021-02-23 16:02:19 +01:00
Crozet Sébastien
babcab0bed
Update the testbed to use PhysicsHooks.
2021-02-23 15:49:23 +01:00
Crozet Sébastien
4ca32a9546
Add one-way platform + conveyor belt demos.
2021-02-23 15:43:43 +01:00
Crozet Sébastien
00706e8b36
Introduce the PhysicsHook trait used for both contact filtering and contact modification.
2021-02-23 11:24:54 +01:00
Crozet Sébastien
ad5c10672e
Use contact ids instead of contact reordering in order to identify the impulse writeback location.
2021-02-22 17:52:03 +01:00
Emil Ernerfeldt
f9e3d382d2
New contacts are bouncy, old are resting
...
If a contact is new (previous impluse = 0), then we treat it as bouncy (respecting restitution).
If the contact is old we treat it as resting.
Exceptions for restitutions <=0 and >= 1.
2021-02-18 15:41:46 +01:00
Emil Ernerfeldt
f2d9225101
Add ColliderHandle:s to PairFilterContext
...
This makes it easy to write custom filters based on the handles.
For instance, a user can add pairs of `ColliderHandle`s into a `HashSet` and
do a lookup in a `ContactPairFilter` to easily (if maybe not efficiently)
disable collisions between pairs of colliders.
The same could be accomplished by using the `user_data: u128` field of the
`Collider`, but it would be less ergonomic, and also with this PR that
`user_data` space can be saved for more important things.
2021-02-17 11:19:51 +01:00
Alec Deason
365426555c
Fix a small documentation typo
2021-02-13 20:03:51 -08:00
Crozet Sébastien
e24d73a255
Don't serialize solver contacts + remove erased-serde dependency.
2021-02-08 10:47:58 +01:00
Emil Ernerfeldt
85bc81d4fc
Make clippy a bit happier
2021-02-04 13:11:04 +01:00
Crozet Sébastien
8ff2bcc3ec
Add all the missing docs.
2021-01-27 14:20:14 +01:00