Commit Graph

43 Commits

Author SHA1 Message Date
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
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
425b2fc83d chore: misc typo fixes 2024-05-05 16:17:39 +02:00
Sébastien Crozet
0a9153e273 chore: clippy fixes 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
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
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
da92e5c283 Fix clippy and enable clippy on CI 2024-01-27 17:13:08 +01:00
Sébastien Crozet
d1fc90c150 feat: rework solver parameters to make it easy to recover the old behaviors 2024-01-24 21:57:54 +01:00
Sébastien Crozet
9b87f06a85 feat: implement new "small-steps" solver + joint improvements 2024-01-21 21:02:27 +01:00
Sébastien Crozet
5063f3bb4f Add the ability to disable contacts between two rigid-bodies attached by joints 2022-07-03 13:55:41 +02:00
Sébastien Crozet
fd12d76102 Fix panic when the world is stepped with dt = 0 2022-04-28 13:04:14 +02:00
Sébastien Crozet
db6a8c526d Fix warnings and add comments. 2022-03-20 21:49:16 +01:00
Sébastien Crozet
1535db87c7 Add a max penetration correction integration parameter 2022-03-20 21:49:16 +01:00
Sébastien Crozet
fb20d72ee2 Joint API and joint motors improvements 2022-03-20 21:49:16 +01:00
Nathan Stocks
4f9d21f4fd derive Debug for IntegrationParameters 2022-02-24 15:35:35 -07:00
Sébastien Crozet
78c8bc6cde Improve cfm configuration using the critical damping factor 2022-01-23 16:50:26 +01:00
Sébastien Crozet
0703e5527f Fix some solver issues
- Fix the wrong codepath taken  by the solver for contacts involving a collider without parent.
- Properly adress the non-linear treatment of the friction direction
- Simplify the sleeping strategy
- Add an impulse resolution multiplier
2022-01-16 16:52:40 +01:00
Sébastien Crozet
f74b8401ad Implement multibody joints and the new solver 2022-01-02 16:58:36 +01:00
Crozet Sébastien
1bef66fea9 Add prelude + use vectors for setting linvel/translation in builders 2021-05-25 11:00:13 +02:00
Crozet Sébastien
0ecc302971 Some small performance improvements. 2021-04-01 10:11:32 +02:00
Crozet Sébastien
1b073e98b4 Remove the IntegrationParameters field we don't use. 2021-03-31 18:41:02 +02:00
Crozet Sébastien
ab876964a0 Revert the warmstart_correction_slope to its previous value. 2021-03-31 16:55:33 +02:00
Crozet Sébastien
80f487fd4a Test to see how the warmstart correction affect the benchmarks. 2021-03-31 16:35:33 +02:00
Crozet Sébastien
a733f97028 Implement the ability to run multiple CCD substeps. 2021-03-29 17:21:49 +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
Emil Ernerfeldt
4162aed2a0 Add params.velocity_based_erp_inv_dt() helper 2021-02-26 11:06:29 +01:00
Emil Ernerfeldt
21247a1236 Add restorative impulse in velocity solver 2021-02-26 11:06:29 +01:00
Sébastien Crozet
d31a327b45 Merge pull request #119 from dimforge/joint_drive
Add joint motors
2021-02-22 17:40:29 +01:00
Emil Ernerfeldt
287cd46295 Remove unused restitution_velocity_threshold parameter 2021-02-18 15:41:46 +01:00
Crozet Sébastien
de39a41faa Implement non-linear position stabilization for the generic constraint. 2021-02-15 11:20:09 +01:00
Stephan Dilly
7e226cc50a fix some typos in docs 2021-02-02 15:01:19 +01:00
Crozet Sébastien
cf52e01308 Merge branch 'master' into split_geom
# Conflicts:
#	examples2d/sensor2.rs
#	examples3d/sensor3.rs
#	src/dynamics/integration_parameters.rs
#	src/dynamics/solver/parallel_island_solver.rs
#	src/dynamics/solver/velocity_constraint.rs
#	src/dynamics/solver/velocity_ground_constraint.rs
#	src_testbed/nphysics_backend.rs
#	src_testbed/physx_backend.rs
#	src_testbed/testbed.rs
2021-01-22 16:10:24 +01:00
Emil Ernerfeldt
315493ebfb IntegrationParameters: deprectate dt() and inv_dt() methods 2021-01-22 13:38:59 +01:00
Emil Ernerfeldt
581d13edbd Deprectate IntegrationParameters::new 2021-01-22 13:33:11 +01:00
Emil Ernerfeldt
95c6199a9a Remove IntegrationParameters::inv_dt and make dt pub 2021-01-22 13:32:18 +01:00
Emil Ernerfeldt
97031a6851 Reorder default() constructor order to match that of the struct
Makes it easier to verify the default values mentioned in the docstrings.
2021-01-21 18:07:28 +01:00
Emil Ernerfeldt
9b59d94bd9 Fix incorrect default value for allowed_linear_error in docstring 2021-01-21 18:06:29 +01:00
Emil Ernerfeldt
c334ced31f Replace call to IntegrationParameters::new with explicit construction
This help readability a lot
2021-01-21 17:22:10 +01:00
Crozet Sébastien
aa61fe65e3 Add support of 64-bits reals. 2021-01-04 15:14:25 +01:00
Crozet Sébastien
2d0a888484 Make the query pipeline serializable. 2020-10-05 16:52:09 +02:00
Sébastien Crozet
754a48b7ff First public release of Rapier. 2020-08-25 22:10:25 +02:00