1#ifndef OSMSCOUT_TILEID_H
2#define OSMSCOUT_TILEID_H
102 return std::tie(y, x) < std::tie(other.y, other.x);
110 const GeoCoord& coord);
113 const GeoCoord& coord);
123 auto h1 =
static_cast<size_t>(
id.GetX());
124 auto h2 =
static_cast<size_t>(
id.GetY());
125 return h1 ^ (h2 << 16u);
181 : currentTile(currentTile),
192 if (currentTile.GetX()>=maxTile.GetX()) {
193 currentTile=
TileId(minTile.GetX(),
194 currentTile.GetY()+1);
197 currentTile=
TileId(currentTile.GetX()+1,
215 return currentTile==other.currentTile;
220 return currentTile!=other.currentTile;
251 const GeoBox& boundingBox)
272 return {(minTile.GetX()+maxTile.GetX())/2,
273 (minTile.GetY()+maxTile.GetY())/2};
278 return minTile.GetX();
283 return maxTile.GetX();
288 return minTile.GetY();
293 return maxTile.GetY();
298 return maxTile.GetX()-minTile.GetX()+1;
303 return maxTile.GetY()-minTile.GetY()+1;
328 return minTile==other.minTile &&
329 maxTile==other.maxTile;
342 return std::string(
"["+minTile.GetDisplayText()+
" - "+maxTile.GetDisplayText()+
"]");
#define CLASS_FINAL
Definition Compiler.h:26
#define OSMSCOUT_API
Definition CoreImportExport.h:45
double GetWidth() const
Definition GeoBox.h:240
double GetHeight() const
Definition GeoBox.h:248
bool operator!=(const TileIdBoxConstIterator &other) const
Definition TileId.h:218
TileIdBoxConstIterator operator++(int)
Definition TileId.h:204
uint32_t GetWidth() const
Definition TileId.h:296
GeoCoord GetMaxCoord() const
Definition GeoBox.h:198
GeoCoord GetMinCoord() const
Definition GeoBox.h:190
TypeInfoRef value_type
Definition TypeInfoSet.h:36
bool operator==(const TileIdBoxConstIterator &other) const
Definition TileId.h:213
uint32_t GetCount() const
Definition TileId.h:306
TileIdBox(const TileId &a, const TileId &b)
TileIdBoxConstIterator(const TileIdBoxConstIterator &other)=default
GeoBox GetBoundingBox(const Magnification &magnification) const
TypeInfoRef pointer
Definition TypeInfoSet.h:38
TileIdBox Include(const TileId &tileId) const
bool Intersects(const TileIdBox &other) const
TileIdBoxConstIterator begin() const
Definition TileId.h:311
TypeInfoSetConstIterator & operator++()
Definition TypeInfoSet.h:59
TileIdBoxConstIterator end() const
Definition TileId.h:318
TileId GetMax() const
Definition TileId.h:264
TileIdBox Include(const TileIdBox &other) const
uint32_t GetMinY() const
Definition TileId.h:286
TileIdBoxConstIterator & operator++()
Definition TileId.h:190
std::input_iterator_tag iterator_category
Definition TypeInfoSet.h:39
const TypeInfoRef & reference
Definition TypeInfoSet.h:37
TileId GetMin() const
Definition TileId.h:259
Pixel GetTile(const GeoCoord &coord) const
TypeInfoSetConstIterator self_type
Definition TypeInfoSet.h:35
TileId GetCenter() const
Definition TileId.h:270
TileIdBox Intersection(const TileIdBox &other) const
uint32_t GetMinX() const
Definition TileId.h:276
uint32_t GetMaxY() const
Definition TileId.h:291
const TileId & operator*() const
Definition TileId.h:223
TileIdBoxConstIterator(const TileId ¤tTile, const TileId &minTile, const TileId &maxTile)
Definition TileId.h:178
bool operator==(const TileIdBox &other) const
Definition TileId.h:326
uint32_t GetMaxX() const
Definition TileId.h:281
TileIdBox(const Magnification &magnification, const GeoBox &boundingBox)
Definition TileId.h:250
uint32_t GetHeight() const
Definition TileId.h:301
std::string GetDisplayText() const
Definition TileId.h:340
TileId operator->() const
Definition TileId.h:228
uint32_t GetY() const
Definition TileId.h:66
static TileId GetTile(const Magnification &magnification, const GeoCoord &coord)
bool operator==(const TileId &other) const
Definition TileId.h:81
Pixel AsPixel() const
Definition TileId.h:71
GeoBox GetBoundingBox(const Magnification &magnification) const
GeoBox GetBoundingBox(const MagnificationLevel &level) const
GeoCoord GetTopLeftCoord(const Magnification &magnification) const
std::string GetDisplayText() const
TileId(uint32_t x, uint32_t y)
bool operator<(const TileId &other) const
Definition TileId.h:100
uint32_t GetX() const
Definition TileId.h:58
bool operator!=(const TileId &other) const
Definition TileId.h:90
static TileId GetTile(const MagnificationLevel &level, const GeoCoord &coord)
std::string GetDisplayText() const
bool operator!=(const TileKey &other) const
TileId GetId() const
Definition TileId.h:144
GeoBox GetBoundingBox() const
TileKey(const Magnification &magnification, const TileId &id)
TileKey GetParent() const
uint32_t GetLevel() const
Definition TileId.h:139
bool operator<(const TileKey &other) const
bool operator==(const TileKey &other) const
std::size_t operator()(const TileId &id) const noexcept
Definition TileId.h:121