28 #pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class 72 std::vector<SimpleSTRnode*>
nodes;
86 static void sortNodesY(std::vector<SimpleSTRnode*>& nodeList);
87 static void sortNodesX(std::vector<SimpleSTRnode*>& nodeList);
96 std::vector<SimpleSTRnode*> createHigherLevels(
97 std::vector<SimpleSTRnode*>& nodesOfALevel,
int level);
99 void addParentNodesFromVerticalSlice(
100 std::vector<SimpleSTRnode*>& verticalSlice,
102 std::vector<SimpleSTRnode*>& parentNodes);
104 std::vector<SimpleSTRnode*> createParentNodes(
105 std::vector<SimpleSTRnode*>& childNodes,
121 : nodeCapacity(capacity)
154 void query(
const geom::Envelope* searchEnv, std::vector<void*>& matches)
override;
158 bool remove(
const geom::Envelope* searchBounds,
void* item)
override;
167 std::pair<const void*, const void*> nearestNeighbour(
ItemDistance* itemDist);
An Envelope defines a rectangulare region of the 2D coordinate plane.
std::size_t getNumLeafNodes() const
A query-only R-tree created using the Sort-Tile-Recursive (STR) algorithm. For two-dimensional spatia...
std::deque< SimpleSTRnode > nodesQue
std::size_t getNodeCapacity() const
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Abstract class defines basic insertion and query operations supported by classes implementing spatial...
A function method which computes the distance between two ItemBoundables in an STRtree. Used for Nearest Neighbour searches.
std::vector< SimpleSTRnode * > nodes
std::ostream & operator<<(std::ostream &os, const Coordinate &c)
Output function.
A visitor for items in an index.
Basic namespace for all GEOS functionalities.
std::size_t getNumLeafNodes() const
SimpleSTRtree(std::size_t capacity=10)
SimpleSTRnode * getRoot()