Quadtree Rendering for CPU transorm+render
[ipdf/code.git] / src / document.cpp
index e49e52e..041519c 100644 (file)
@@ -89,7 +89,8 @@ void Document::Save(const string & filename)
 
 void Document::GenBaseQuadtree()
 {
-       m_quadtree.nodes.push_back(QuadTreeNode{QUADTREE_EMPTY, QUADTREE_EMPTY, QUADTREE_EMPTY, QUADTREE_EMPTY, QUADTREE_EMPTY, QTC_UNKNOWN, 0, ObjectCount()});
+       m_quadtree.nodes.push_back(QuadTreeNode{QUADTREE_EMPTY, 1, QUADTREE_EMPTY, QUADTREE_EMPTY, QUADTREE_EMPTY, QTC_UNKNOWN, 0, 1});
+       m_quadtree.nodes.push_back(QuadTreeNode{QUADTREE_EMPTY, QUADTREE_EMPTY, QUADTREE_EMPTY, QUADTREE_EMPTY, QUADTREE_EMPTY, QTC_UNKNOWN, 1, ObjectCount()});
        m_quadtree.root_id = 0;
 }
 
@@ -142,6 +143,12 @@ void Document::Load(const string & filename)
                }
        }
        Debug("Successfully loaded %u objects from \"%s\"", ObjectCount(), filename.c_str());
+#ifndef QUADTREE_DISABLED
+       if (m_quadtree.root_id == QUADTREE_EMPTY)
+       {
+               GenBaseQuadtree();
+       }
+#endif
 }
 
 void Document::Add(ObjectType type, const Rect & bounds, unsigned data_index)

UCC git Repository :: git.ucc.asn.au