Commit Graph

64 Commits

Author SHA1 Message Date
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
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
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
Crozet Sébastien
9315da2b6c Fix bug in 2D heightfield collision detection. 2020-10-26 14:12:31 +01:00
Crozet Sébastien
b9156302d3 Replace rounding -> round. 2020-10-20 18:57:53 +02:00
Crozet Sébastien
f7a6f433d6 Rename rounded -> round. 2020-10-20 18:14:20 +02:00
Crozet Sébastien
949e3f5384 Fix many warnings. 2020-10-20 16:22:53 +02:00
Crozet Sébastien
6495847095 Add rounded cylinder. 2020-10-20 15:57:54 +02:00
Crozet Sébastien
d513c22d33 Add cone support. 2020-10-20 14:16:01 +02:00
Crozet Sébastien
865ce8a8e5 Collider shape: use a trait-object instead of an enum. 2020-10-20 11:56:09 +02:00
Crozet Sébastien
947c4813c9 Complete the pfm/pfm contact generator. 2020-10-19 16:52:08 +02:00
Crozet Sébastien
faf3e7e0f7 Implement a special case for edge-edge 3D polygonal clipping. 2020-10-13 18:41:11 +02:00
Crozet Sébastien
faec3d5d46 Start adding cylinders. 2020-10-12 18:33:58 +02:00
Crozet Sébastien
76118d6885 WQuadtree: fix stack overflow caused by more than 4 AABB with the same center. 2020-10-10 12:15:43 +02:00
Crozet Sébastien
fc72aa6845 Fix examples. 2020-10-06 16:38:34 +02:00
Crozet Sébastien
e87b73a2a2 Fix compilation in 2D. 2020-10-06 15:49:22 +02:00
Crozet Sébastien
682ff61f94 Don't let the PubSub internal offsets overflow + fix some warnings. 2020-10-06 15:23:48 +02:00
Crozet Sébastien
7c92848383 Implement RayCast for the Trimesh. 2020-10-06 14:17:18 +02:00
Crozet Sébastien
60c4d01e0a Completely remove the WAABBHierarchy structure.
It is now replaced by the WQuadtree.
2020-10-06 11:37:48 +02:00
Crozet Sébastien
17c31bcc57 WQuadtree query: reduce the amount of allocations. 2020-10-06 11:22:51 +02:00
Crozet Sébastien
cf86ee40a1 Use the WQuadtree for the exhaustive ray-cast too. 2020-10-06 11:21:39 +02:00
Crozet Sébastien
8e432b298b Make the WQuadTree more generic and use it as the trimesh acceleration structure. 2020-10-06 10:46:59 +02:00
Crozet Sébastien
721db2d49e Fix crash when deleting a collider. 2020-10-06 10:02:21 +02:00
Crozet Sébastien
93aa7b6e1e Use the publish-subscribe mechanism to handle collider removals across pipelines. 2020-10-05 19:04:18 +02:00
Crozet Sébastien
bbfe926a11 Make the WQuadtree serializable. 2020-10-05 16:51:32 +02:00
Crozet Sébastien
c031f96ac5 Fix compilation when parallelism is not enabled. 2020-09-28 15:27:25 +02:00
Crozet Sébastien
b39887a121 Fix crash of WQuadtree when the collider set contains holes. 2020-09-28 15:27:25 +02:00
Crozet Sébastien
84bd60e4a5 Fix compilation when SIMD is not enabled. 2020-09-28 15:27:25 +02:00
Crozet Sébastien
a7d77a0144 Add non-topological WQuadtree update. 2020-09-28 15:27:25 +02:00
Crozet Sébastien
56f6051b04 Start adding incremental topology update for the WQuadtree. 2020-09-28 15:27:25 +02:00