Commit Graph

315 Commits

Author SHA1 Message Date
Thierry Berger
d291041278 use enum variants rather than casting to u8 for comparisons (#781) 2025-03-28 12:19:42 +01:00
Thierry Berger
955795dfbb Fix clippy (#800) 2025-02-24 11:34:46 +01:00
Thierry Berger
bf8e48e920 Incorrect narrow_phase collisions after using ColliderSet::set_parent (#742)
* reproduction for case 1 (no collision)

* test for wrong self intersection after Collider::set_parent

* dynamics: remove new parent from contact and intersection graph ; maybe should be removed from graph_indices too?

* parent testing at the same place a interaction group check, to avoid missing parent change

* add more asserts in test + more correct comments

* add changelog

* Update CHANGELOG.md

* chore: remove debug print statements

* chore: improve narrow-phase test to check for re-re-parenting

* fix: remove unneeded narrow-phase pair removal

---------

Co-authored-by: Sébastien Crozet <sebcrozet@dimforge.com>
2025-02-02 14:53:30 +01:00
Thierry Berger
dc4bd24da8 Update to Parry 0.18 (#770)
* update to parry ~main

* use traverse_depth_first

* add example to test intersection

* rely on upstream PR rather than local

* re-enable profiler_ui for examples

* rely on official parry repository

* chore: switch back to the published version of parry

* chore: update changelog

* chore: remove dead code

* fix compilation of rapier3d-meshloader and rapier3d-urdf

* chore: cargo fmt

---------

Co-authored-by: Sébastien Crozet <sebcrozet@dimforge.com>
2025-01-08 17:16:34 +01:00
Thierry Berger
510237cc29 Profiling support (#743) 2024-11-19 16:33:26 +01:00
Pier Angelo Vendrame
0d791eb794 Fixed some typos. (#757) 2024-11-06 09:39:22 +01:00
Thierry Berger
9e1113c5c7 fix compilation for feature enhanced-determinism (#739) 2024-09-23 18:15:29 +02:00
Bruce Mitchener
e7e196d9f9 Improve capacity handling for ColliderSet, RigidBodySet. (#726)
These allow an application to reduce the cost of reallocation when
they know that a large number of colliders or rigid bodies will
be created.
2024-09-16 16:45:14 +02:00
Thierry Berger
b66452b6c5 Fix string serialization for broadphase multisap (regions) (#710)
* serialize regions as vec
2024-08-09 17:55:43 +02:00
Aceeri
510686a906 InteractionGroups default memberships value is now GROUP_1 (#706)
Co-authored-by: Thierry Berger <contact@thierryberger.com>
2024-08-05 18:14:44 +02:00
Ben Harper
af3a26c99d Improve distant object panics in broad phase (#128)
Co-authored-by: Thierry Berger <contact@thierryberger.com>
2024-08-05 17:19:52 +02:00
Thierry Berger
7ff92b1cf5 Fix CI (#707)
Removes dead code + other rust 1.80 related fixes
2024-08-05 11:32:43 +02:00
Bruce Mitchener
7374653338 docs: Fix minor typos and tweaks (#696)
---------

Co-authored-by: Thierry Berger <contact@thierryberger.com>
2024-07-22 11:32:08 +02:00
Thierry Berger
0ff55411a4 More Debug derives. (#686) 2024-07-19 16:13:25 +02:00
Bruce Mitchener
00f59d2877 clippy: Fix clippy::lazy_doc_continuation lints (#689)
These will be enabled in Rust 1.80 by default.
2024-07-18 09:44:48 +02:00
Thierry Berger
6a295d3e8e Fix string serialization for broadphase multisap (#675) 2024-07-15 14:39:56 +02:00
Bruce Mitchener
23c0c05a5b Use bitflags! consistently. (#680)
This removes an `extern crate` and a `use` so that we always
call it via `bitflags::bitflags!` everywhere.
2024-07-12 17:00:24 +02:00
Thierry Berger
01dd200152 ci: cargo doc step (#671) 2024-07-12 16:29:22 +02:00
Di Saber
a854de787f Fix attempt to subtract with overflow panic in SAPRegion::update_after_subregion_removal() (#663)
* Swap a regular subtraction for a saturating subtraction

* chore: display a debug message if the SAP reach an unexpected state regarding sub-proper proxies removal.

---------

Co-authored-by: Sébastien Crozet <sebcrozet@dimforge.com>
2024-06-23 23:26:08 +02:00
Sébastien Crozet
3004a7d38d chore: update to nalgebra 0.33 and parry 0.16 (#664) 2024-06-23 22:57:51 +02:00
Bruce Mitchener
8a592e458e Fix typos. (#658) 2024-06-20 21:03:12 +02:00
Sébastien Crozet
ad960bf245 chore: clippy fixes 2024-06-09 12:09:58 +02:00
Sébastien Crozet
edaa36ac7e chore: add more comments 2024-06-09 12:09:58 +02:00
Sébastien Crozet
98e32b7f3c fix 2D compilation 2024-06-09 12:09:58 +02:00
Sébastien Crozet
d9585de20b feat: add the ability to disable all contacts between two links belonging to the same multibody 2024-06-09 12:09:58 +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
d127af7816 feat: make RigidBody::add_collider private
Colliders must only be added through the `ColliderSet`.
2024-06-09 12:09:58 +02:00
Sébastien Crozet
5922612ef3 feat: impl Default for RigidBodyBuilder and ColliderBuilder 2024-06-09 12:09:58 +02:00
Thierry Berger
e1ed90603e Merge branch 'master' into collider-builder-debug 2024-06-03 15:20:24 +02:00
Bruce Mitchener
f13ca5cf1c Fix typo in internal variable name. 2024-05-25 22:20:27 +07:00
Sébastien Crozet
62379de9ec feat: add simple inverse-kinematics solver for multibodies (#632)
* feat: add a simple jacobian-based inverse-kinematics implementation for multibodies

* feat: add 2d inverse kinematics example

* feat: make forward_kinematics auto-fix the root’s degrees of freedom

* feat: add 3d inverse kinematics example

* chore: update changelog

* chore: clippy fixes

* chore: more clippy fixes

* fix tests
2024-05-25 10:36:34 +02:00
Fun Maker
a2fdeab7e1 Removed leftovers from block breaks stabilization. 2024-05-05 16:34:55 +02:00
Sébastien Crozet
425b2fc83d chore: misc typo fixes 2024-05-05 16:17:39 +02:00
Sébastien Crozet
7565e5e4ef chore: update to the latest parry api 2024-05-05 16:17:39 +02:00
Bruce Mitchener
7375a691e2 Fix some typos. (#620) 2024-05-05 12:11:38 +02:00
Sébastien Crozet
a36f161ce6 fix compilation of tests 2024-04-30 23:10:46 +02:00
Sébastien Crozet
0a9153e273 chore: clippy fixes 2024-04-30 23:10:46 +02:00
Sébastien Crozet
929aa6b925 feat: rename collision_skin to contact_skin 2024-04-30 23:10:46 +02:00
Sébastien Crozet
664645159d feat: implement collision skin 2024-04-30 23:10:46 +02:00
Sébastien Crozet
6635d49c8b feat: add configurable distance cap to soft-ccd 2024-04-30 23:10:46 +02:00
Sébastien Crozet
33dd38016c feat: add a capsule collider constructor from endpoints. 2024-04-30 23:10:46 +02:00
Sébastien Crozet
f58b4f7c19 feat: add warmstarting to contact constraints resolution 2024-04-30 23:10:46 +02:00
Sébastien Crozet
404e032433 feat: add soft (solver-based) ccd implementation 2024-04-30 23:10:46 +02:00
Sébastien Crozet
3ddf2441ea feat: add exact mlcp solver for pais of 2 constraints 2024-04-30 23:10:46 +02:00
Sébastien Crozet
15c07cfeb3 feat: make narrow-phase filter-out predictive solver contact based on contact velocity 2024-04-30 23:10:46 +02:00
Sébastien Crozet
7cbbb8e87b feat: add Collider::heightfield_with_flags 2024-04-30 23:10:46 +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