godot/servers/physics_2d
lawnjelly 07e5022cce
BVH - add option for expanded AABBs in leaves
This PR adds a define BVH_EXPAND_LEAF_AABBS which is set, which stores expanded AABBs in the tree instead of exact AABBs.

This makes the logic less error prone when considering reciprocal collisions in the pairing, as all collision detect is now taking place between expanded AABB against expanded AABB, rather than expanded AABB against exact AABB.

The flip side of this is that the intersection tests will now be less exact when expanded margins are set.

All margins are now user customizable via project settings, and take account of collision pairing density to adjust the margin dynamically.

(cherry picked from commit 211dc8cd2d)
2021-11-25 23:13:14 +01:00
..
SCsub SCons: Format buildsystem files with psf/black 2020-06-10 15:30:52 +02:00
area_2d_sw.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
area_2d_sw.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
area_pair_2d_sw.cpp Fix and clean disabled shapes handling in godot physics servers 2021-06-22 16:48:24 -07:00
area_pair_2d_sw.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
body_2d_sw.cpp Ignore disabled shapes for mass property calculations 2021-06-17 17:17:05 -07:00
body_2d_sw.h Added wakeup() call to velocity, force and impulse functions. 2021-09-28 19:00:10 +13:00
body_pair_2d_sw.cpp Fix GodotPhysics solver with kinematic body set to report contacts 2021-08-04 10:41:58 -07:00
body_pair_2d_sw.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
broad_phase_2d_basic.cpp Fix physics BVH broadphase update when changing collision layer/mask 2021-10-21 16:53:41 -07:00
broad_phase_2d_basic.h Fix physics BVH broadphase update when changing collision layer/mask 2021-10-21 16:53:41 -07:00
broad_phase_2d_bvh.cpp BVH - add option for expanded AABBs in leaves 2021-11-25 23:13:14 +01:00
broad_phase_2d_bvh.h Fix physics BVH broadphase update when changing collision layer/mask 2021-10-21 16:53:41 -07:00
broad_phase_2d_hash_grid.cpp clang-format: Various fixes to comments alignment from `clang-format` 13 2021-10-28 14:50:32 +02:00
broad_phase_2d_hash_grid.h Fix physics BVH broadphase update when changing collision layer/mask 2021-10-21 16:53:41 -07:00
broad_phase_2d_sw.cpp Style: Replaces uses of 0/NULL by nullptr (C++11) 2021-05-04 16:30:23 +02:00
broad_phase_2d_sw.h Fix physics BVH broadphase update when changing collision layer/mask 2021-10-21 16:53:41 -07:00
collision_object_2d_sw.cpp Fix physics BVH broadphase update when changing collision layer/mask 2021-10-21 16:53:41 -07:00
collision_object_2d_sw.h Fix physics BVH broadphase update when changing collision layer/mask 2021-10-21 16:53:41 -07:00
collision_solver_2d_sat.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
collision_solver_2d_sat.h Style: Replaces uses of 0/NULL by nullptr (C++11) 2021-05-04 16:30:23 +02:00
collision_solver_2d_sw.cpp Fix Rayshape recovery in test_body_ray_separation 2021-10-05 18:24:30 -07:00
collision_solver_2d_sw.h Fix Rayshape recovery in test_body_ray_separation 2021-10-05 18:24:30 -07:00
constraint_2d_sw.h Style: Replaces uses of 0/NULL by nullptr (C++11) 2021-05-04 16:30:23 +02:00
joints_2d_sw.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
joints_2d_sw.h Style: Replaces uses of 0/NULL by nullptr (C++11) 2021-05-04 16:30:23 +02:00
physics_2d_server_sw.cpp BVH - add option for expanded AABBs in leaves 2021-11-25 23:13:14 +01:00
physics_2d_server_sw.h Fixing 2D moving platform logic 2021-07-15 11:57:58 +02:00
physics_2d_server_wrap_mt.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
physics_2d_server_wrap_mt.h Make body_test_motion thread safe for multi-threaded physics 2021-10-06 16:06:03 -07:00
shape_2d_sw.cpp Optimize area detection and intersect_shape queries with concave shapes 2021-05-07 19:19:41 -07:00
shape_2d_sw.h Optimize area detection and intersect_shape queries with concave shapes 2021-05-07 19:19:41 -07:00
space_2d_sw.cpp Fix physics BVH broadphase update when changing collision layer/mask 2021-10-21 16:53:41 -07:00
space_2d_sw.h Fix physics BVH broadphase update when changing collision layer/mask 2021-10-21 16:53:41 -07:00
step_2d_sw.cpp Fix physics BVH pairing for teleported or fast moving objects 2021-11-16 21:23:39 +01:00
step_2d_sw.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00