X-Git-Url: https://git.ucc.asn.au/?p=ipdf%2Fcode.git;a=blobdiff_plain;f=src%2Fquadtree.h;h=4b752696022408e09a8e0da547b260a3233cdaeb;hp=d5eddd8600660df7acb16345434d462d0c6e15d9;hb=888817a67a9d840be66b52811b01eb77f10ff3e6;hpb=85e08223a33439f9b4911129b48ee45ff65869eb diff --git a/src/quadtree.h b/src/quadtree.h index d5eddd8..4b75269 100644 --- a/src/quadtree.h +++ b/src/quadtree.h @@ -6,6 +6,7 @@ #include "common.h" +#include "ipdf.h" namespace IPDF { @@ -45,7 +46,15 @@ namespace IPDF QuadTree() : root_id(QUADTREE_EMPTY) {} QuadTreeIndex root_id; std::vector nodes; + + QuadTreeIndex GetNeighbour(QuadTreeIndex start, int xdir, int ydir) const; + }; + + Rect TransformToQuadChild(const Rect& src, QuadTreeNodeChildren child_type); + Rect TransformFromQuadChild(const Rect& src, QuadTreeNodeChildren child_type); + bool IntersectsQuadChild(const Rect& src, QuadTreeNodeChildren child_type); + bool ContainedInQuadChild(const Rect& src, QuadTreeNodeChildren child_type); } #else