Commit Graph

764 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 800b35b103 Add collider constructors for shapes obtained from convex decomposition. 2021-01-21 16:29:05 +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 00da4aaa42 Add compound shape support. 2021-01-05 15:34:48 +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 a1aa8855f7 Query pipeline: add methods to collect all intersections with a point or a shape. 2020-12-31 18:23:14 +01:00
Crozet Sébastien 7b098606c2 QueryPipeline: add shape casting, point projection, and intersection queries. 2020-12-31 16:30:38 +01:00
Crozet Sébastien 1feac2e02d Restore contact events. 2020-12-31 11:37:42 +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 5e35250183 Define the MAX_MANIFOLD_POINTS in this crate. 2020-12-30 17:46:22 +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 5876a262da Remove the useless manifold.data.pair field. 2020-12-30 11:44:08 +01:00
Crozet Sébastien 94c67a0c31 Support compound shapes. 2020-12-29 11:36:19 +01:00
Crozet Sébastien 8d925a02ef Add convex polygons support. 2020-12-29 11:31:59 +01:00
Crozet Sébastien 486fbd972f Add example for 3D convex polyhedron. 2020-12-29 11:31:59 +01:00
Crozet Sébastien 0fb4b4faef Use Isometry::inv_mul. 2020-12-29 11:31:59 +01:00
Crozet Sébastien 7488cd02e8 Remove unused constrants. 2020-12-29 11:31:59 +01:00
Crozet Sébastien 0d2eb5f2e0 Remove some commented code. 2020-12-29 11:31:59 +01:00
Crozet Sébastien a0c2a2c309 Fix compilation when serde is enabled. 2020-12-29 11:31:59 +01:00
Crozet Sébastien 5c38113690 Fix compilation when serde isn't enabled. 2020-12-29 11:31:59 +01:00
Crozet Sébastien 8fe2df126a Remove some irrelevant code. 2020-12-29 11:31:59 +01:00
Crozet Sébastien 29717c2887 Externalize the proximity code (renamed intersection). 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 340f614d32 Restore the previous sleeping pattern. 2020-11-26 12:49:35 +01:00
Crozet Sébastien 391bcf372a Fix collider insertion/removal tracking. 2020-11-26 11:41:54 +01:00
Crozet Sébastien f293dc6024 Fix bogus collider removal in the broad-phase. 2020-11-26 11:40:59 +01:00
Crozet Sébastien 7541108746 Make the RigidBodyChanges values more readable. 2020-11-25 16:34:43 +01:00