19 #ifndef GEOS_IDX_QUADTREE_NODE_H
20 #define GEOS_IDX_QUADTREE_NODE_H
22 #include <geos/export.h>
23 #include <geos/index/quadtree/NodeBase.h>
24 #include <geos/geom/Coordinate.h>
25 #include <geos/geom/Envelope.h>
32 #pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
60 std::unique_ptr<geom::Envelope> env;
72 Node* getSubnode(
int index);
74 std::unique_ptr<Node> createSubnode(
int index);
78 bool isSearchMatch(
const geom::Envelope& searchEnv)
const override {
79 return env->intersects(searchEnv);
85 static std::unique_ptr<Node> createNode(
const geom::Envelope& env);
92 static std::unique_ptr<Node> createExpanded(std::unique_ptr<Node> node,
95 Node(std::unique_ptr<geom::Envelope> nenv,
int nlevel)
123 void insertNode(std::unique_ptr<Node> node);
125 std::string toString()
const override;
137 #endif // GEOS_IDX_QUADTREE_NODE_H