Commit Graph

69 Commits

Author SHA1 Message Date
Benjamin Saunders
a68d0c600b Expose ColliderSet::{take_modified, take_removed} (#887)
These are practically necessary when working without a PhysicsPipeline
2025-11-02 18:35:53 +01:00
Dragos Daian
57c4e912a6 Implement interaction groups test mode and add the ClampedSum cofficient combine rule (#741) 2025-10-30 11:51:22 +01:00
Sébastien Crozet
c1be3e8578 feat: documentation improvements (#884) 2025-10-17 12:59:19 +02:00
Sébastien Crozet
134f433903 feat: solver improvements + release v0.29.0 (#876)
* feat: solver improvements

* feat: add function to get/set whether gyroscopic forces are enabled on a rigid-body

* chore: switch to released versions of parry and wide instead of local patches

* fix cargo doc

* chore: typo fixes

* chore: clippy fix

* Release v0.29.0

* chore: more clippy fixes
2025-09-05 19:31:58 +02:00
Sébastien Crozet
317322b31b feat: reduce the amount of duplicate work the broad-phase is doing for user changes and CCD + release v0.28.0 (#872)
* feat: reduce the amount of duplicate work the broad-phase is doing for user changes and CCD

* Release v0.28.0

* chore: fix warnings

* chore: clippy fixes

* chore: more clippy fixes
2025-08-08 18:15:34 +02:00
Sébastien Crozet
95bd6fcfeb feat: switch to the new Bvh from parry for the broad-phase (#853)
* feat: switch to the new Bvh from parry for the broad-phase

* chore: cargo fmt + update testbed

* chore: remove the multi-grid SAP broad-phase

* fix soft-ccd handling in broad-phase

* Fix contact cleanup in broad-phase after collider removal

* chore: clippy fixes

* fix CCD regression

* chore: update changelog

* fix build with the parallel feature enabled

* chore: remove the now useless broad-phase proxy index from colliders

* fix tests
2025-07-11 22:36:40 +02:00
Sébastien Crozet
ef47848fba feat: update to parry 0.21 2025-05-16 19:27:02 +02:00
Sébastien Crozet
e44f636249 feat: add support for Voxels collider (#823)
* feat: start adding voxels support and some additional testbed demo settings

* feat: add support for parry’s new Voxels collider shape

* fix voxels demos

* feat: support rectangular voxels and additional voxels initialization

* chore: switch to parry 0.20

* chore: fix cargo doc

* Fix testbed build
2025-04-24 12:11:53 +02:00
Thierry Berger
176c3bae14 Fix user changes handling (#803)
* add failing test from @Johannes0021

* apply fix on update_positions

* apply fix on ColliderSet::iter_mut

* fix clippy..

* more complete test

* feat: refactor modified sets into a wrapper to avoid future mistakes

* chore: fix typos

---------

Co-authored-by: Sébastien Crozet <sebcrozet@dimforge.com>
2025-03-28 12:48:25 +01:00
Sébastien Crozet
3004a7d38d chore: update to nalgebra 0.33 and parry 0.16 (#664) 2024-06-23 22:57:51 +02:00
Sébastien Crozet
9865d5836a feat: add MeshConverter and Colliders::converted_trimesh for building a collider with a shape computed form mesh buffers 2024-06-09 12:09:58 +02:00
Sébastien Crozet
7565e5e4ef chore: update to the latest parry api 2024-05-05 16:17:39 +02:00
Sébastien Crozet
6f8bd99eab Fix compilation of tests 2024-03-23 15:17:47 +01:00
Sébastien Crozet
b3a00b4123 feat: add the DefaultBroadPhase type alias 2024-03-23 15:17:47 +01:00
Sébastien Crozet
3d112287b9 feat: add a BroadPhaseTrait for allowing custom broad-phases 2024-03-23 15:17:47 +01:00
Sébastien Crozet
cfb2c2c93e feat!: rename BroadPhase to BroadPhaseMultiSap 2024-03-23 15:17:47 +01:00
Sébastien Crozet
5bf3983894 feat: re-export BoundingVolume, RayCast, PointQuery, PointQueryWithlocation from parry. 2024-01-24 22:50:07 +01:00
Sébastien Crozet
683baf6bf7 Allow the PhysicsPipeline and CollisionPipeline to update the QueryPipeline incrementally 2022-12-11 15:20:33 +01:00
Sébastien Crozet
b5b3431a63 Switch to the published parry 0.11 2022-10-30 13:43:52 +01:00
Tristan Guichaoua
6c2eca72a5 impl Group 2022-08-13 14:31:27 +02:00
Nash
e4a8d2e18c Implement serde traits for CollisionEvents when serde-serialize feature is enabled 2022-07-14 00:14:10 -04:00
Sébastien Crozet
145ab3013e Fix the max_force_direction magnitude 2022-07-04 16:53:38 +02:00
Sébastien Crozet
158308ad71 Add hepler function for building a contact force event from a contact pair 2022-07-04 15:04:06 +02:00
Sébastien Crozet
32e2ff6c96 Name the contact force events ContactForceEvent instead of CollisionForceEvent 2022-07-01 17:45:11 +02:00
Sébastien Crozet
c9d8277377 Add contact force events generated above a user-defined threshold 2022-07-01 12:00:32 +02:00
Sébastien Crozet
65824e74f3 Add comments for the debug-renderer 2022-04-28 17:30:35 +02:00
Sébastien Crozet
ae40f4cd7e Add collision event flags 2022-04-28 13:03:14 +02:00
Sébastien Crozet
9237bfd530 Remove the default-sets feature 2022-04-20 19:02:49 +02:00
Sébastien Crozet
d38740369c Emit collision stopped events after a collider is removed. 2022-03-20 21:49:16 +01:00
Sébastien Crozet
063c638ec5 Combine contact events and intersection events into a single event type and flags 2022-03-20 21:49:16 +01: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
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
3a1502be74 First complete implementation of the hierarchical SAP. 2021-03-13 18:00:58 +01:00
Crozet Sébastien
babcab0bed Update the testbed to use PhysicsHooks. 2021-02-23 15:49:23 +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
8ff2bcc3ec Add all the missing docs. 2021-01-27 14:20:14 +01:00
Crozet Sébastien
4799a81214 Add missing constructor for a round-triangle collider. 2021-01-25 17:22:57 +01:00
Crozet Sébastien
8f7220f03d Rename cdl to parry. 2021-01-24 11:13:44 +01:00
Crozet Sébastien
e45e5f109c Fix WASM build. 2021-01-23 13:11:00 +01:00
Crozet Sébastien
57072f3ba7 Move ColliderShape out of Rapier. 2021-01-22 18:10:54 +01:00
Crozet Sébastien
98d3980db7 Allow several rules for combining friction/restitution coefficients. 2021-01-21 16:03:27 +01:00
Crozet Sébastien
7b098606c2 QueryPipeline: add shape casting, point projection, and intersection queries. 2020-12-31 16:30:38 +01:00
Crozet Sébastien
967145a949 Perform contact sorting in the narrow-phase directly. 2020-12-31 11:16:03 +01:00
Crozet Sébastien
348a339fe3 Remove code related to point-point kinematics. 2020-12-31 10:02:51 +01:00
Crozet Sébastien
43628c8846 Try using solver contacts again, but in a more cache-coherent way. 2020-12-30 17:30:07 +01:00
Crozet Sébastien
94c67a0c31 Support compound shapes. 2020-12-29 11:36:19 +01:00
Crozet Sébastien
0d2eb5f2e0 Remove some commented code. 2020-12-29 11:31:59 +01:00
Crozet Sébastien
8fe2df126a Remove some irrelevant code. 2020-12-29 11:31:59 +01:00
Crozet Sébastien
29717c2887 Externalize the proximity code (renamed intersection). 2020-12-29 11:31:59 +01:00