1 #ifndef OSMSCOUT_TILEID_H 2 #define OSMSCOUT_TILEID_H 76 std::string GetDisplayText()
const;
102 return std::tie(y, x) < std::tie(other.y, other.x);
105 GeoCoord GetTopLeftCoord(
const Magnification& magnification)
const;
109 static TileId GetTile(
const Magnification& magnification,
110 const GeoCoord& coord);
112 static TileId GetTile(
const MagnificationLevel& level,
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);
136 TileKey(
const Magnification& magnification,
154 std::string GetDisplayText()
const;
181 : currentTile(currentTile),
188 TileIdBoxConstIterator(
const TileIdBoxConstIterator& other) =
default;
192 if (currentTile.
GetX()>=maxTile.
GetX()) {
194 currentTile.
GetY()+1);
206 TileIdBoxConstIterator tmp(*
this);
215 return currentTile==other.currentTile;
220 return currentTile!=other.currentTile;
247 TileIdBox(
const TileId& a,
251 const GeoBox& boundingBox)
252 : TileIdBox(
TileId::GetTile(magnification,
253 boundingBox.GetMinCoord()),
254 TileId::GetTile(magnification,
255 boundingBox.GetMaxCoord()))
271 return minTile.GetX();
276 return maxTile.GetX();
281 return minTile.GetY();
286 return maxTile.GetY();
291 return maxTile.GetX()-minTile.GetX()+1;
296 return maxTile.GetY()-minTile.GetY()+1;
301 return GetWidth()*GetHeight();
304 TileIdBoxConstIterator
begin()
const 306 return TileIdBoxConstIterator(minTile,
311 TileIdBoxConstIterator
end()
const 313 return TileIdBoxConstIterator(
TileId(minTile.GetX(),
321 return minTile==other.minTile &&
322 maxTile==other.maxTile;
327 TileIdBox Include(
const TileId& tileId)
const;
328 TileIdBox Include(
const TileIdBox& other)
const;
329 TileIdBox Intersection(
const TileIdBox& other)
const;
331 bool Intersects(
const TileIdBox& other)
const;
335 return std::string(
"["+minTile.GetDisplayText()+
" - "+maxTile.GetDisplayText()+
"]");
TypeInfoRef pointer
Definition: TypeInfoSet.h:38
uint32_t GetCount() const
Definition: TileId.h:299
TileId GetMin() const
Definition: TileId.h:259
TileId GetId() const
Definition: TileId.h:144
TileIdBoxConstIterator operator++(int)
Definition: TileId.h:204
Pixel AsPixel() const
Definition: TileId.h:71
TileId operator->() const
Definition: TileId.h:228
uint32_t GetWidth() const
Definition: TileId.h:289
TileIdBox(const Magnification &magnification, const GeoBox &boundingBox)
Definition: TileId.h:250
bool operator!=(const MapViewStruct &r1, const MapViewStruct &r2)
Definition: DBThread.h:61
uint32_t GetX() const
Definition: TileId.h:58
void GetBoundingBox(const std::vector< N > &nodes, double &minLon, double &maxLon, double &minLat, double &maxLat)
Definition: Geometry.h:107
const TileId & operator*() const
Definition: TileId.h:223
TypeInfoRef value_type
Definition: TypeInfoSet.h:36
uint32_t GetMaxX() const
Definition: TileId.h:274
TileId GetMax() const
Definition: TileId.h:264
bool operator==(const TileId &other) const
Definition: TileId.h:81
TileIdBoxConstIterator & operator++()
Definition: TileId.h:190
uint32_t GetMaxY() const
Definition: TileId.h:284
const TypeInfoRef & reference
Definition: TypeInfoSet.h:37
TileIdBoxConstIterator(const TileId ¤tTile, const TileId &minTile, const TileId &maxTile)
Definition: TileId.h:178
uint32_t GetMinX() const
Definition: TileId.h:269
#define CLASS_FINAL
Definition: Compiler.h:26
bool operator!=(const TileId &other) const
Definition: TileId.h:90
#define OSMSCOUT_API
Definition: CoreImportExport.h:45
bool operator<(const TileCacheKey &a, const TileCacheKey &b)
uint32_t GetY() const
Definition: TileId.h:66
std::string GetDisplayText() const
Definition: TileId.h:333
TileIdBoxConstIterator end() const
Definition: TileId.h:311
bool operator==(const MapView &a, const MapView &b)
Definition: InputHandler.h:222
Definition: DBThread.h:86
uint32_t GetMinY() const
Definition: TileId.h:279
TypeInfoSetConstIterator self_type
Definition: TypeInfoSet.h:35
bool operator!=(const TileIdBoxConstIterator &other) const
Definition: TileId.h:218
uint32_t GetHeight() const
Definition: TileId.h:294
std::size_t operator()(const TileId &id) const noexcept
Definition: TileId.h:121
bool operator<(const TileId &other) const
Definition: TileId.h:100
bool operator==(const TileIdBox &other) const
Definition: TileId.h:319
std::input_iterator_tag iterator_category
Definition: TypeInfoSet.h:39
TileIdBoxConstIterator begin() const
Definition: TileId.h:304
bool operator==(const TileIdBoxConstIterator &other) const
Definition: TileId.h:213
uint32_t GetLevel() const
Definition: TileId.h:139