Crozet Sébastien
3fdb4cd6d3
Properly take the tangent_velocity into account in the velocity solver.
2021-02-23 15:47:24 +01:00
Crozet Sébastien
4ca32a9546
Add one-way platform + conveyor belt demos.
2021-02-23 15:43:43 +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
ad5c10672e
Use contact ids instead of contact reordering in order to identify the impulse writeback location.
2021-02-22 17:52:03 +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
Crozet Sébastien
e5c4c2e8ff
Ball joint: remove unused field.
2021-02-22 15:06:33 +01:00
Crozet Sébastien
0eec28325e
Fix warnings.
2021-02-22 14:20:06 +01:00
Crozet Sébastien
4c9138fd2b
Some minor cleanup and joint constraint refactoring.
2021-02-22 13:58:43 +01:00
Crozet Sébastien
052a5a5fc0
Make Simd prismatic joint limit code transmit torque.
2021-02-22 13:44:38 +01:00
Crozet Sébastien
73192d41c2
Make prismatic joint limit transmit torque.
2021-02-22 13:22:15 +01:00
Crozet Sébastien
aaba6c8927
Add motors to prismatic joints.
2021-02-22 12:12:24 +01:00
Crozet Sébastien
f204a5f736
Take max motor impulse into account for the ball joint.
2021-02-22 10:15:13 +01:00
Crozet Sébastien
01496d43e5
Add motors to ball joints.
2021-02-21 17:15:00 +01:00
Crozet Sébastien
f5515c3973
Fix lever-arm handling in the revolute joint.
2021-02-21 17:14:43 +01:00
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
Emil Ernerfeldt
f2d9225101
Add ColliderHandle:s to PairFilterContext
...
This makes it easy to write custom filters based on the handles.
For instance, a user can add pairs of `ColliderHandle`s into a `HashSet` and
do a lookup in a `ContactPairFilter` to easily (if maybe not efficiently)
disable collisions between pairs of colliders.
The same could be accomplished by using the `user_data: u128` field of the
`Collider`, but it would be less ergonomic, and also with this PR that
`user_data` space can be saved for more important things.
2021-02-17 11:19:51 +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
Alec Deason
365426555c
Fix a small documentation typo
2021-02-13 20:03:51 -08: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
Crozet Sébastien
e24d73a255
Don't serialize solver contacts + remove erased-serde dependency.
2021-02-08 10:47:58 +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
23a86c294e
Allow using polylines as a collider shape.
2021-01-26 16:41:21 +01:00
Crozet Sébastien
e1f50eb6e8
Fix compilation with f64.
2021-01-25 17:33:28 +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
90db26eb50
Fix warnings in tests and testbed.
2021-01-23 13:34:03 +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
57072f3ba7
Move ColliderShape out of Rapier.
2021-01-22 18:10:54 +01:00
Crozet Sébastien
b779eb261e
Fix compilation in 2D.
2021-01-22 16:43:16 +01:00
Crozet Sébastien
d9ca11834e
Add a VERSION constant containing the package version.
2021-01-22 16:10:53 +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
Sébastien Crozet
e6fc8f67fa
Merge pull request #88 from EmbarkStudios/refactor-params
...
Small refactor of IntegrationParameters
2021-01-22 15:53:08 +01:00
Emil Ernerfeldt
315493ebfb
IntegrationParameters: deprectate dt() and inv_dt() methods
2021-01-22 13:38:59 +01:00