20 #ifndef GEOS_IDX_QUADTREE_NODEBASE_H
21 #define GEOS_IDX_QUADTREE_NODEBASE_H
23 #include <geos/export.h>
29 #pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
71 std::vector<void*>& getItems();
78 std::vector<void*>& addAllItems(std::vector<void*>& resultItems)
const;
80 virtual void addAllItemsFromOverlapping(
const geom::Envelope& searchEnv,
81 std::vector<void*>& resultItems)
const;
83 unsigned int depth()
const;
85 unsigned int size()
const;
87 unsigned int getNodeCount()
const;
89 virtual std::string toString()
const;
102 bool hasItems()
const;
104 bool hasChildren()
const;
106 bool isPrunable()
const;
125 virtual bool isSearchMatch(
const geom::Envelope& searchEnv)
const=0;
132 NodeBase::hasChildren()
const
134 for (
int i = 0; i < 4; i++)
140 NodeBase::isPrunable()
const
142 return ! (hasChildren() || hasItems());
146 NodeBase::hasItems()
const
148 return !
items.empty();
159 #endif // GEOS_IDX_QUADTREE_NODEBASE_H