Commit Graph

246 Commits

Author SHA1 Message Date
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
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
2d4e14b869 Properly track some user-initiatied rigid-body modifications. 2020-11-25 16:28:49 +01:00
Crozet Sébastien
d98be2359d Add methods to iterate through all the contact and proximity pairs. 2020-11-24 16:39:09 +01:00
Crozet Sébastien
437748096d Allow retrieving one specific contact pair or proximity pair. 2020-11-24 15:21:27 +01:00
Crozet Sébastien
dc63c28f56 Fix crash when removing a collider with no graph ID. 2020-11-24 14:57:37 +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
000aad0a3c Fix NaNs in unused WAABB lanes during the creation of the WAABBTree. 2020-11-22 16:35:59 +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
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
154bc70037 Remove the Salva integration code from rapier + add a plugin system to the testbed. 2020-11-19 13:55:19 +01:00
Sébastien Crozet
7e560d43f2 Merge pull request #60 from dimforge/ball_ball_collision_bug
Fix NaN when two balls are in contact and their centers coincide.
2020-11-19 11:02:35 +01:00
Crozet Sébastien
17614116da Fix NaN when two balls are in contact and their centers coincide. 2020-11-11 17:18:10 +01:00
Crozet Sébastien
17cfa1edd2 SAP: don't serialize workspaces and caches. 2020-11-10 17:04:31 +01:00
Crozet Sébastien
0a5cd9bc6e SAP: make the update_count a u8.
It can only have three values 0,1,2, so storing a whole usize is useless.
2020-11-10 17:04:12 +01:00
Sébastien Crozet
2102aeb422 Merge pull request #30 from robert-hrusecky/infinite_fall_memory
Infinite fall memory fix for #14
2020-11-10 16:58:00 +01:00
Crozet Sébastien
71611d3e30 Reset the rigid-bodies internal links properly. 2020-11-03 15:08:06 +01:00
Crozet Sébastien
477411c656 Fix 3D compilation. 2020-11-03 14:50:29 +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
Robert Hrusecky
1097c63006 Add a cache of empty regions avoiding reallocation 2020-11-02 16:18:38 -06:00
Robert Hrusecky
8b81a3fd27 Merge branch 'master' into infinite_fall_memory 2020-11-02 15:00:12 -06:00
Crozet Sébastien
8348260271 Fix 2D compilation. 2020-11-02 18:03:10 +01:00
Crozet Sébastien
01af6c09a7 Fix simulation reaching different states when started from different snaphots. 2020-11-02 15:08:46 +01:00
Robert Hrusecky
bcec54ef31 Merge branch 'master' into infinite_fall_memory
Fix merge conflict resulting from "axii" spelling correction
2020-10-29 18:09:41 -05:00
Crozet Sébastien
74f0297221 Fix performance regression due to sleeping objects pairs no longer being ignored by the narrow-phase. 2020-10-27 17:17:14 +01:00
Crozet Sébastien
3bfa407999 ContactPairFilter: don't overwrite the effect of the solver groups.
This is more consistent with the fact that the effect of collision groups is not overwritten either.
2020-10-27 16:49:24 +01:00
Crozet Sébastien
24bd97636e Rename SolverFlags::COMPUTE_FORCES to SolverFlags::COMPUTE_IMPULSES.
This is closer to what the solver actually does.
2020-10-27 16:21:33 +01:00
Crozet Sébastien
cc44b65094 Added user-implementable traits for collision/proximity pair filtering. 2020-10-27 16:12:40 +01:00
Crozet Sébastien
7cafc5471c Ignore the code block in the InteractionGroups doc. 2020-10-27 15:05:10 +01:00
Crozet Sébastien
5a5ba9cf59 Take the solver flags into account when collecting contact manifolds to solve. 2020-10-27 14:35:01 +01:00
Crozet Sébastien
2509e42d7b Add a construstructor to InteractionGroups + make its methods const. 2020-10-27 14:35:01 +01:00
Crozet Sébastien
cb6a7ff946 Add solver flags for controlling whether or not some contacts should be taken into account by the constraints solver. 2020-10-27 14:35:01 +01:00
Crozet Sébastien
3def91d62e Add collision groups to filter collision pairs. 2020-10-27 14:35:01 +01:00
Crozet Sébastien
49779e6c75 Add missing comment. 2020-10-27 10:54:07 +01:00
Crozet Sébastien
b5a1aaa4e5 Add a 128-bits user-data attached to colliders and rigid-bodies. 2020-10-27 10:48:31 +01:00
Crozet Sébastien
ffbc3c02c7 Fix 2D compilation. 2020-10-27 09:25:58 +01:00
Crozet Sébastien
8c872dc0af Replace the Rounded<S> type by a non-generic RoundCylinder type. 2020-10-27 09:20:44 +01:00
Crozet Sébastien
dbdd797d59 Add some segment/triangle SAT functions. 2020-10-27 09:08:23 +01:00
Crozet Sébastien
df8e2fb9fe Variable renaming. 2020-10-27 09:08:06 +01:00
Crozet Sébastien
08930b1238 Fix multiple warnings. 2020-10-26 16:36:07 +01:00
Crozet Sébastien
ba6655be8e Fix build when serialization is not enabled. 2020-10-26 16:25:04 +01:00
Crozet Sébastien
3fd4a62a2e Fix 2D compilation. 2020-10-26 16:18:44 +01:00
Crozet Sébastien
12e85e0dc2 AddAdd missing feature-gate. 2020-10-26 16:12:32 +01:00
Crozet Sébastien
2b628f9580 Redefine capsules as a segment with a radius, allowing us to reuse the pfm_pfm_contact generator for it. 2020-10-26 15:58:30 +01:00