From 0f34fd437efb936ef29ac91186321aa7251fbfb1 Mon Sep 17 00:00:00 2001 From: Samuel Fadel Date: Tue, 23 May 2023 11:22:33 +0200 Subject: Massive changes in initial port away from Qt. --- quadtree.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 quadtree.h (limited to 'quadtree.h') diff --git a/quadtree.h b/quadtree.h new file mode 100644 index 0000000..0a9b79b --- /dev/null +++ b/quadtree.h @@ -0,0 +1,23 @@ +#include +#include + +#include "geometry.h" + +class QuadTree +{ +public: + QuadTree(const RectF &bounds); + bool insert(float x, float y, int value); + int query(float x, float y) const; + void query(const RectF &rect, std::vector &result) const; + int nearestTo(float x, float y) const; + +private: + bool subdivide(); + void nearestTo(float x, float y, int &nearest, float &dist) const; + + RectF m_bounds; + float m_x, m_y; + int m_value; + std::unique_ptr m_nw, m_ne, m_sw, m_se; +}; -- cgit v1.2.3