Commit Graph

377 Commits

Author SHA1 Message Date
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
Crozet Sébastien cc6d1b9730 Outsource the Shape trait, wquadtree, and shape types. 2020-12-29 11:31:00 +01:00
Crozet Sébastien 9bf1321f8f Outsource the contact manifold, SAT, and some shapes. 2020-12-29 11:31:00 +01:00
Crozet Sébastien aada91966a Add a RigidBody::set_mass_properties method. 2020-12-02 11:26:20 +01:00
Crozet Sébastien bde828cdab Fix a bug when applying the parallel axis theorem to the angular inertia matrix is incorrect if the mass is zero. 2020-12-02 11:12:26 +01:00
Crozet Sébastien a072d4056a Rename RigidBodyBuilder::principal_inertia -> principal_angular_inertia for clarity. 2020-12-01 15:07:04 +01:00
Crozet Sébastien 1e0f76b02c Add a 2D demo for locking rotation. 2020-11-30 15:41:32 +01:00
Crozet Sébastien 715d0fe16e Update the changelog + make the boolean flags more intuitive. 2020-11-30 15:35:36 +01:00
Crozet Sébastien c3e951f896 Add a simpler to lock the rotation or translation of a dynamic rigid-body. 2020-11-30 15:26:22 +01:00
Crozet Sébastien 391bcf372a Fix collider insertion/removal tracking. 2020-11-26 11:41:54 +01:00
Crozet Sébastien 7541108746 Make the RigidBodyChanges values more readable. 2020-11-25 16:34:43 +01:00
Crozet Sébastien 2d4e14b869 Properly track some user-initiatied rigid-body modifications. 2020-11-25 16:28:49 +01:00
Crozet Sébastien af39ec54d3 Remove the narrow-phase graph indices from the collider.
They are on the narrow-phase now.
2020-11-23 15:56:53 +01:00
Crozet Sébastien 5ce3606582 Add explicit wake_up parameter to method setting the position and velocity of a rigid-body. 2020-11-19 18:13:39 +01:00
Crozet Sébastien 49fd861083 Allow a rigid-body to be initialized asleep. 2020-11-19 18:00:43 +01:00
Crozet Sébastien 0d49a80974 Add a parameter to indicate if collider removal should wake-up its parent. 2020-11-19 18:00:43 +01:00
Crozet Sébastien 49dfe74a1b Remove traces of the fluids feature. 2020-11-19 15:28:45 +01:00
Crozet Sébastien c26c3af508 Start integrating salva into rapier. 2020-11-19 13:54:03 +01:00
Sébastien Crozet acc3fed119 Merge pull request #34 from robert-hrusecky/rigid_body_wake_params
Add wake_up parameter to rigidbody methods
2020-11-19 11:12:59 +01:00
Crozet Sébastien db337c5df6 Add damping support + demos. 2020-11-03 15:34:01 +01:00
Crozet Sébastien 71611d3e30 Reset the rigid-bodies internal links properly. 2020-11-03 15:08:06 +01:00
Crozet Sébastien c6af248e66 Rename reset_internal_links -> reset_internal_references. 2020-11-03 14:45:50 +01:00
Crozet Sébastien 0cf59d78bd Implement Clone for everything that can be cloned. 2020-11-03 14:43:21 +01:00
Crozet Sébastien 036a246141 Make cloning rigid-bodies and colliders more idiomatic.
Fix #53
2020-11-03 14:29:47 +01:00
Crozet Sébastien bd6c0cb26c Fix typo. 2020-11-03 12:25:34 +01:00
Crozet Sébastien 5144cd6bf1 Add more details to the MassProperties constructors comments. 2020-11-03 11:55:08 +01:00
Crozet Sébastien 32b6e122c1 Add the ability to set the mass and mass properties of the rigid-body built with the RigidBodyBuilder 2020-11-03 11:46:38 +01:00
Crozet Sébastien 502be0245c Add restitution. 2020-11-03 11:22:30 +01:00
Crozet Sébastien a4a4ddb5b4 Implement joint removal. 2020-11-02 18:47:27 +01:00