X-Git-Url: https://git.ucc.asn.au/?p=ipdf%2Fcode.git;a=blobdiff_plain;f=src%2Fquadtree.h;h=e35da2eab45182aba96509edd40f9b6cd3409b9a;hp=1443650e2373f423a198137cdbff39d529350bf9;hb=64b7c42c71c35d520424cf4ca5ecaa99faef8b26;hpb=5f25f354c33142215147b1fa3d18445bd0d7a6ee diff --git a/src/quadtree.h b/src/quadtree.h index 1443650..e35da2e 100644 --- a/src/quadtree.h +++ b/src/quadtree.h @@ -13,6 +13,7 @@ namespace IPDF typedef int QuadTreeIndex; static const QuadTreeIndex QUADTREE_EMPTY = -1; + class Document; enum QuadTreeNodeChildren { @@ -39,6 +40,8 @@ namespace IPDF unsigned object_begin; // Last object in the node. unsigned object_end; + // Linked list of "extra" nodes + QuadTreeIndex next_overlay; }; struct QuadTree @@ -46,6 +49,9 @@ namespace IPDF QuadTree() : root_id(QUADTREE_EMPTY) {} QuadTreeIndex root_id; std::vector nodes; + + QuadTreeIndex GetNeighbour(QuadTreeIndex start, int xdir, int ydir, Document *doc) const; + }; Rect TransformToQuadChild(const Rect& src, QuadTreeNodeChildren child_type);