godot/core/math
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
a_star.cpp clang-format: Disable alignment of operands, too unreliable 2021-10-28 13:23:38 +02:00
a_star.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
aabb.cpp Portal occlusion culling 2021-07-14 11:43:23 +01:00
aabb.h clang-format: Disable alignment of operands, too unreliable 2021-10-28 13:23:38 +02:00
audio_frame.cpp Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
audio_frame.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
basis.cpp clang-format: Enable `BreakBeforeTernaryOperators` 2021-10-28 14:50:33 +02:00
basis.h clang-format: Disable alignment of operands, too unreliable 2021-10-28 13:23:38 +02:00
bsp_tree.cpp Remove do{ } while(0) wrapper around error macros 2021-09-12 15:04:53 +08:00
bsp_tree.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
bvh.h BVH - add option for expanded AABBs in leaves 2021-11-25 23:13:14 +01:00
bvh_abb.h BVH - detect shrinkage within expanded bounds 2021-11-25 23:13:12 +01:00
bvh_cull.inc BVH - detect shrinkage within expanded bounds 2021-11-25 23:13:12 +01:00
bvh_debug.inc BVH - detect shrinkage within expanded bounds 2021-11-25 23:13:12 +01:00
bvh_integrity.inc Support for Dynamic BVH as 2D Physics broadphase 2021-04-30 15:53:15 -07:00
bvh_logic.inc clang-format: Various fixes to comments alignment from `clang-format` 13 2021-10-28 14:50:32 +02:00
bvh_misc.inc Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
bvh_pair.inc BVH - add option for expanded AABBs in leaves 2021-11-25 23:13:14 +01:00
bvh_public.inc BVH - add option for expanded AABBs in leaves 2021-11-25 23:13:14 +01:00
bvh_refit.inc BVH - fix stale current_tree in deactivate function 2021-05-25 10:43:04 +01:00
bvh_split.inc BVH - detect shrinkage within expanded bounds 2021-11-25 23:13:12 +01:00
bvh_structs.inc BVH - detect shrinkage within expanded bounds 2021-11-25 23:13:12 +01:00
bvh_tree.h BVH - add option for expanded AABBs in leaves 2021-11-25 23:13:14 +01:00
camera_matrix.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
camera_matrix.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
convex_hull.cpp clang-format: Enable `BreakBeforeTernaryOperators` 2021-10-28 14:50:33 +02:00
convex_hull.h Options to clean/simplify convex hull generated from mesh 2021-07-09 17:45:59 -07:00
delaunay.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
disjoint_set.cpp Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
disjoint_set.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
expression.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
expression.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
face3.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
face3.h clang-format: Various fixes to comments alignment from `clang-format` 13 2021-10-28 14:50:32 +02:00
geometry.cpp Portal occlusion culling 2021-07-14 11:43:23 +01:00
geometry.h Portal occlusion culling 2021-07-14 11:43:23 +01:00
math_defs.h clang-format: Various fixes to comments alignment from `clang-format` 13 2021-10-28 14:50:32 +02:00
math_fieldwise.cpp Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
math_fieldwise.h Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
math_funcs.cpp [3.x] Warn when using the dectime method 2021-09-21 10:03:42 -05:00
math_funcs.h clang-format: Disable alignment of operands, too unreliable 2021-10-28 13:23:38 +02:00
octree.h Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
octree_definition.inc Fix physics BVH broadphase update when changing collision layer/mask 2021-10-21 16:53:41 -07:00
plane.cpp clang-format: Disable alignment of operands, too unreliable 2021-10-28 13:23:38 +02:00
plane.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
quat.cpp [3.x] Add Quat angle_to method 2021-06-18 11:00:44 -04:00
quat.h [3.x] Add Quat angle_to method 2021-06-18 11:00:44 -04:00
quick_hull.cpp Quickhull - reduce warning spam and make hideable 2021-08-10 12:06:46 +01:00
quick_hull.h Portal occlusion culling 2021-07-14 11:43:23 +01:00
random_number_generator.cpp Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
random_number_generator.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
random_pcg.cpp Make randomize() use unix time too 2021-04-23 21:50:34 +02:00
random_pcg.h Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
rect2.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
rect2.h clang-format: Disable alignment of operands, too unreliable 2021-10-28 13:23:38 +02:00
transform.cpp Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
transform.h Fix Transform::xform(Plane) functions, add Transform unit tests 2021-08-07 08:05:39 +01:00
transform_2d.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
transform_2d.h clang-format: Disable alignment of operands, too unreliable 2021-10-28 13:23:38 +02:00
triangle_mesh.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
triangle_mesh.h Clean convex hull decomposition code 2021-07-13 11:13:25 -07:00
triangulate.cpp clang-format: Various fixes to comments alignment from `clang-format` 13 2021-10-28 14:50:32 +02:00
triangulate.h Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
vector2.cpp clang-format: Disable alignment of operands, too unreliable 2021-10-28 13:23:38 +02:00
vector2.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
vector3.cpp clang-format: Disable alignment of operands, too unreliable 2021-10-28 13:23:38 +02:00
vector3.h Portal occlusion culling 2021-07-14 11:43:23 +01:00