X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=src%2Fquadtree.h;h=15fd8a9225fd25cb818ae83e227a90f4761b2107;hb=667281b828c8515e995c0000706157cee180fa08;hp=ac0214685a2a44e888976fdc5f87395c64ba1353;hpb=138ee74c900c6f485cdd959d55c01099d6043661;p=ipdf%2Fcode.git diff --git a/src/quadtree.h b/src/quadtree.h index ac02146..15fd8a9 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,10 @@ namespace IPDF unsigned object_begin; // Last object in the node. unsigned object_end; + // Linked list of "extra" nodes + QuadTreeIndex next_overlay; + // First object which has not yet been propagated to extant children/parent. + unsigned object_dirty; }; struct QuadTree @@ -47,7 +52,7 @@ namespace IPDF QuadTreeIndex root_id; std::vector nodes; - QuadTreeIndex GetNeighbour(QuadTreeIndex start, int xdir, int ydir); + QuadTreeIndex GetNeighbour(QuadTreeIndex start, int xdir, int ydir, Document *doc) const; };