10#ifndef VIEWPORT_KDTREE_H
11#define VIEWPORT_KDTREE_H
20 enum ItemType : uint16_t {
27 std::variant<StationID, TownID, SignID> id;
33 if (this->type != other.type)
return false;
34 return this->
id == other.id;
39 if (this->type != other.type)
return this->type < other.type;
40 return this->
id < other.id;
52 return (dim == 0) ? item.center : item.top;
57extern ViewportSignKdtree _viewport_sign_kdtree;
59void RebuildViewportKdtree();
K-dimensional tree, specialised for 2-dimensional space.
K-d tree template specialised for 2-dimensional Manhattan geometry.
PoolID< uint16_t, struct SignIDTag, 64000, 0xFFFF > SignID
The type of the IDs of signs.
Base classes/functions for stations.
Types related to viewports.