19 #ifndef GEOS_IDX_QUADTREE_QUADTREE_H
20 #define GEOS_IDX_QUADTREE_QUADTREE_H
22 #include <geos/export.h>
23 #include <geos/geom/Envelope.h>
24 #include <geos/index/SpatialIndex.h>
25 #include <geos/index/quadtree/Root.h>
33 #pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
75 std::vector<std::unique_ptr<geom::Envelope>> newEnvelopes;
142 void query(
const geom::Envelope* searchEnv, std::vector<void*>& ret)
override;
168 root.visit(searchEnv, visitor);
181 std::vector<void*>* queryAll();
183 std::string toString()
const;
202 #endif // GEOS_IDX_QUADTREE_QUADTREE_H
An Envelope defines a rectangulare region of the 2D coordinate plane.
Definition: Envelope.h:59
A Quadtree is a spatial index structure for efficient querying of 2D rectangles. If other kinds of sp...
Definition: Quadtree.h:71
QuadRoot is the root of a single Quadtree. It is centred at the origin, and does not have a defined e...
Definition: quadtree/Root.h:49
void query(const geom::Envelope *searchEnv, ItemVisitor &visitor) override
Queries the tree and visits items which may lie in the given search envelope.
Definition: Quadtree.h:162
Abstract class defines basic insertion and query operations supported by classes implementing spatial...
Definition: SpatialIndex.h:47
A visitor for items in an index.
Definition: ItemVisitor.h:29
Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:25
Quadtree()
Constructs a Quadtree with zero items.
Definition: Quadtree.h:109