diff options
author | Campbell Barton <ideasman42@gmail.com> | 2019-03-19 16:57:52 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2019-03-19 17:07:07 +0300 |
commit | d1b9b838be8a09735f52637fecdd2a8200eb9862 (patch) | |
tree | 3fbab92692cea2bbcd3b6f898761d6b580401e68 /source/blender/blenlib/BLI_kdtree.h | |
parent | 84fe4cdcb37c28469749d673006c8e6083bede7f (diff) |
BLI_kdtree: add 2D kdtree support
Some users of the 3D versions were storing 2D data in it.
Using a 3D tree for 2D data adds a spatially redundant branch
every 3rd level, as well as some extra memory use, best avoid this.
Diffstat (limited to 'source/blender/blenlib/BLI_kdtree.h')
-rw-r--r-- | source/blender/blenlib/BLI_kdtree.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/source/blender/blenlib/BLI_kdtree.h b/source/blender/blenlib/BLI_kdtree.h index af10a448423..18f3236a310 100644 --- a/source/blender/blenlib/BLI_kdtree.h +++ b/source/blender/blenlib/BLI_kdtree.h @@ -22,6 +22,17 @@ * \brief A kd-tree for nearest neighbor search. */ +/* 2D version */ +#define KD_DIMS 2 +#define KDTREE_PREFIX_ID BLI_kdtree_2d +#define KDTree KDTree_2d +#define KDTreeNearest KDTreeNearest_2d +#include "BLI_kdtree_impl.h" +#undef KD_DIMS +#undef KDTree +#undef KDTreeNearest +#undef KDTREE_PREFIX_ID + /* 3D version */ #define KD_DIMS 3 #define KDTREE_PREFIX_ID BLI_kdtree_3d |