Commit Graph

255 Commits

Author SHA1 Message Date
Crozet Sébastien
dc8ccc0c30 Make revolute joint actuation work properly even when SIMD is enabled. 2021-02-19 17:32:09 +01:00
Crozet Sébastien
e9f17f32e8 Complete the implementation of non-simd joint motor for the revolute joint. 2021-02-19 15:21:25 +01:00
Emil Ernerfeldt
5e7eedc3fd Always apply the predictive contact term, even for bouncing contacts 2021-02-18 17:58:17 +01:00
Emil Ernerfeldt
287cd46295 Remove unused restitution_velocity_threshold parameter 2021-02-18 15:41:46 +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
Crozet Sébastien
a1ddda5077 Revolute joint constraints: properly adjust the angular impulse and torque projection. 2021-02-17 15:57:58 +01:00
Crozet Sébastien
4f8f8017f4 Properly writeback the generic constrainst impulse when it comes from a revolute joint. 2021-02-15 16:44:55 +01:00
Crozet Sébastien
ebd5562af3 Generic velocity constraint: split the translation and rotation terms. 2021-02-15 12:08:18 +01:00
Crozet Sébastien
de39a41faa Implement non-linear position stabilization for the generic constraint. 2021-02-15 11:20:09 +01:00
Crozet Sébastien
d9b6198fa0 Various generic joint fixes. 2021-02-12 16:00:57 +01:00
Crozet Sébastien
cc80e40067 More experiments with the way the generic joint is stabilized. 2021-02-11 18:52:07 +01:00
Crozet Sébastien
5b80c4efbf Start experimenting with a generic joint implementation for joint drives. 2021-02-11 15:58:46 +01:00
Emil Ernerfeldt
e870acf011 Omit integrate_accelerations in feature = parallel 2021-02-08 17:15:31 +01:00
Emil Ernerfeldt
d999e0e8c6 Apply accelerations during velocity solver
Closes https://github.com/dimforge/rapier/issues/97

Instead of applying accelerations from gravity and external forces
as a separate step, this PR switches to applying them in the velocity solver.
2021-02-08 17:15:28 +01:00
Emil Ernerfeldt
17ef7e10f9 Replace linacc/angacc with force/torque inside of RigidBody
I also improved the documentation for the various force/impulse applying functions.
2021-02-08 15:54:17 +01:00
Sébastien Crozet
a272f4ce9e Merge pull request #104 from EmbarkStudios/clippy-fixes
Make clippy a bit happier
2021-02-04 18:20:27 +01:00
Emil Ernerfeldt
85bc81d4fc Make clippy a bit happier 2021-02-04 13:11:04 +01:00
Emil Ernerfeldt
4c1aac25a7 Add functions for kinetic and potential energy of a RigidBody 2021-02-04 12:42:33 +01:00
Stephan Dilly
7e226cc50a fix some typos in docs 2021-02-02 15:01:19 +01:00
Crozet Sébastien
8ff2bcc3ec Add all the missing docs. 2021-01-27 14:20:14 +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
00caa7ce35 Fix warnings and 2D compilation when parallelism is ON but SIMD is OFF. 2021-01-23 13:02:06 +01:00
Crozet Sébastien
b779eb261e Fix compilation in 2D. 2021-01-22 16:43:16 +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
98d3980db7 Allow several rules for combining friction/restitution coefficients. 2021-01-21 16:03:27 +01:00
Crozet Sébastien
8f330b2a00 Rotation locking: apply filter only to the world inertia properties to fix the multi-collider case. 2021-01-21 14:58:40 +01:00
Crozet Sébastien
d69b5876f3 Fix velocity constraints for ball joints involving bodies with non-uniform angular inertia.
Fix #86
2021-01-20 17:20:01 +01:00
Crozet Sébastien
0ade350b5f Use newtypes for collider, rigid-body and joint handles. 2021-01-20 16:33:42 +01:00
Crozet Sébastien
28b7866aee Switch to [u32; DIM] instead of Point<u32> for element indices. 2021-01-20 15:40:00 +01:00
Crozet Sébastien
e2006599a8 Add 3D convex decomposition example. 2021-01-20 15:15:33 +01:00
Crozet Sébastien
87b56c38b6 Properly reset the BodySet::modified_all_bodies flag. 2021-01-12 15:07:39 +01:00
Crozet Sébastien
2231d0f6ea Add gravity scaling to rigid-bodies. 2021-01-06 18:09:21 +01:00
Crozet Sébastien
261ed1ebed Fix 2D compilation. 2021-01-06 12:53:26 +01:00
Crozet Sébastien
c28b14d31c Refactor the parallel solver code the same way we did with the non-parallel solver. 2021-01-04 17:59:56 +01:00
Crozet Sébastien
aa61fe65e3 Add support of 64-bits reals. 2021-01-04 15:14:25 +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
64507a68e1 Refactor the constraints solver code. 2020-12-31 10:32:34 +01:00
Crozet Sébastien
348a339fe3 Remove code related to point-point kinematics. 2020-12-31 10:02:51 +01:00
Crozet Sébastien
eea888af93 Fix broken position constraint. 2020-12-30 18:33:01 +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
7545e06cb1 Attempt to combine the position constraints initialization with the velocity constraints initialization. 2020-12-30 12:03:25 +01:00
Crozet Sébastien
8fe2df126a Remove some irrelevant code. 2020-12-29 11:31:59 +01:00
Crozet Sébastien
e231bacec6 Move all the contact manifold computations out of Rapier. 2020-12-29 11:31:00 +01:00