Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2019-03-19 16:57:52 +0300
committerCampbell Barton <ideasman42@gmail.com>2019-03-19 17:07:07 +0300
commitd1b9b838be8a09735f52637fecdd2a8200eb9862 (patch)
tree3fbab92692cea2bbcd3b6f898761d6b580401e68 /source/blender/blenlib/BLI_kdtree.h
parent84fe4cdcb37c28469749d673006c8e6083bede7f (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.h11
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