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
Thierry Berger
d291041278
use enum variants rather than casting to u8 for comparisons ( #781 )
2025-03-28 12:19:42 +01:00
Thierry Berger
2f9d9ba94b
Add partialeq to integrationparameters ( #801 )
2025-03-10 09:05:34 +01:00
Sébastien Crozet
49fba6cd54
feat: rename AxisMask to AxesMask + enable LIN_Z only in 3D ( #805 )
2025-03-05 18:07:19 +01:00
Sébastien Crozet
108a2a18d6
feat: add PD and PID controller implementations ( #804 )
...
* feat: add a PID controller implementation
* feat: add small rigid-body utilities + test interpolation test
* fix: make scrolling weaker on macos
* feat: add the option to use the PID controller in the character controller demo.
* feat: add a stateless PD controller
* feat(rapier_testbed): cleanup & support PidController in 2D too
* chore: add comments for the PD and PID controllers
* chore: update changelog
* feat: rename PidErrors to PdErrors which is more accurate
* fix cargo doc
* chore: remove dead code
* chore: make test module non-pub
2025-03-05 14:06:49 +01:00
Thierry Berger
65f87d597b
use hashset from parry ( #716 follow up) ( #788 )
2025-01-17 16:06:06 +01:00
Chris Bacon
564f7b7348
Fix Nans from RevoluteJoint::angle() ( #736 )
...
Fixes #735
2025-01-08 17:47:13 +01:00
Thierry Berger
cf77b5bf57
Remove instant dependency in favor of web-time ( #767 )
2024-12-06 12:54:00 +01:00
Thierry Berger
93bd37d814
fix clippy needless lifetimes ( #769 )
...
+ ignore them for bevy where we often want explicitness
2024-12-05 15:55:12 +01:00
Thierry Berger
510237cc29
Profiling support ( #743 )
2024-11-19 16:33:26 +01: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
c714ff81f2
ImpulseJointSet::get_mut option to wake up connected bodies ( #716 )
2024-09-13 10:48:56 +02:00
Bruce Mitchener
ed133e1ea9
Fix more typos. ( #712 )
...
These are ones not found by `typos` for various reasons.
2024-08-09 14:31:08 +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
35ac662371
Fix spelling of below and orthogonalization. ( #700 )
2024-07-26 14:17:33 +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
Thierry Berger
01dd200152
ci: cargo doc step ( #671 )
2024-07-12 16:29:22 +02:00
Sébastien Crozet
40ee5367d8
chore: add one more test for the multibody insertion out-of-bounds issue
2024-07-07 15:22:55 +02:00
Sébastien Crozet
9e699e0315
Fix broken multibody joint removal.
2024-07-07 15:22:55 +02:00
Sébastien Crozet
f34152e78b
Fix out-of-bounds crash when merging two multibodies
2024-07-07 15:22:55 +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
Thierry Berger
3e8650f3a7
Fix delta_time being 0 resulting in incorrect simulation ( #660 )
...
* Add failing test
* fix tests
* better fix
* add changelog
* fix propagated to `contact_cfm_factor`
* PR feedback
* more PR feedbacks
2024-06-23 18:18:54 +02:00
Bruce Mitchener
8a592e458e
Fix typos. ( #658 )
2024-06-20 21:03:12 +02:00
Thierry Berger
9367198282
feat: rework QueryPipeline update API to take less parameters ( #647 )
...
* chore: rework QueryPipeline API to take a generic qbvh updater
This allows to pass less parameters depending on the updating mode.
* chore: rework struct and functions names, and docs
---------
Co-authored-by: Sébastien Crozet <sebcrozet@dimforge.com >
2024-06-09 14:16:03 +02:00
Sébastien Crozet
a8a0f297f5
feat: add RevoluteJoint::angle to compute the revolute joint’s angle
2024-06-09 13:20:09 +02:00
Sébastien Crozet
a5a4152815
fix warning in tests
2024-06-09 12:09:58 +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
0bdc620207
feat: add suport for kinematic multibody links
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
2041c9549d
feat: let user specify joints that cannot move for IK
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
Sébastien Crozet
c785ea4996
feat: rename JointAxesMask::X/Y/Z by ::LIN_X/LIN_Y/LIN_Z and JointAxis::X/Y/Z by ::LinX/LinY/LinZ
2024-06-09 12:09:58 +02:00
Sébastien Crozet
cdec395d09
feat: rename cfm_factor, damping_ratio to contact_cfm_factor and contact_damping_ratio
2024-05-25 12:00:15 +02:00
Sébastien Crozet
ed8645e34c
feat: remove the "fast constraint" special case
2024-05-25 12:00:15 +02:00
Sébastien Crozet
fdd935dbf1
feat: make the constraints regularization coefficients configurable with angular frequency instead of explicit ERP
2024-05-25 12:00:15 +02: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
Sébastien Crozet
0d76a55d80
chore: don’t return &mut Self with GenericJoint::flip
2024-05-05 16:34:55 +02:00
Fun Maker
4332818e02
Fix joint limits not being flipped in one body constrains. ( #549 )
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
0a9153e273
chore: clippy fixes
2024-04-30 23:10:46 +02:00
Sébastien Crozet
5867d2e78d
fix: include the 0.5 factor in pseudo (mass-normalized) kinetic energy calculation
2024-04-30 23:10:46 +02:00
Sébastien Crozet
c079452a47
feat: add IntegrationParameters::length_unit to adjust internal threshold based on user-defined length units
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
f58b4f7c19
feat: add warmstarting to contact constraints resolution
2024-04-30 23:10:46 +02:00
Sébastien Crozet
de5e871cd1
chore: rework vertical stacks demo
2024-04-30 23:10:46 +02:00