From d1b9b838be8a09735f52637fecdd2a8200eb9862 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 20 Mar 2019 00:57:52 +1100 Subject: 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. --- source/blender/blenlib/BLI_kdtree.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'source/blender/blenlib/BLI_kdtree.h') 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 -- cgit v1.2.3