1
0
mirror of https://github.com/tumic0/GPXSee.git synced 2024-11-28 05:34:47 +01:00

Map API cleanup

This commit is contained in:
Martin Tůma 2018-07-13 09:51:41 +02:00
parent 5547cf668e
commit 262ee5bb5f
15 changed files with 37 additions and 52 deletions

View File

@ -22,12 +22,12 @@ static bool resCmp(OfflineMap *m1, OfflineMap *m2)
return r1 > r2;
}
static bool xCmp(const OfflineMap *m1, const OfflineMap *m2)
static bool xCmp(OfflineMap *m1, OfflineMap *m2)
{
return TL(m1).x() < TL(m2).x();
}
static bool yCmp(const OfflineMap *m1, const OfflineMap *m2)
static bool yCmp(OfflineMap *m1, OfflineMap *m2)
{
return TL(m1).y() > TL(m2).y();
}
@ -147,7 +147,7 @@ Atlas::Atlas(const QString &fileName, QObject *parent)
_valid = true;
}
QRectF Atlas::bounds() const
QRectF Atlas::bounds()
{
QSizeF s(0, 0);

View File

@ -13,9 +13,9 @@ class Atlas : public Map
public:
Atlas(const QString &fileName, QObject *parent = 0);
const QString &name() const {return _name;}
QString name() const {return _name;}
QRectF bounds() const;
QRectF bounds();
int zoom() const {return _zoom;}
void setZoom(int zoom);

View File

@ -46,7 +46,7 @@ EmptyMap::EmptyMap(QObject *parent) : Map(parent)
_zoom = ZOOM_MAX;
}
QRectF EmptyMap::bounds() const
QRectF EmptyMap::bounds()
{
return QRectF(ll2xy(Coordinates(-180, 85)), ll2xy(Coordinates(180, -85)));
}
@ -92,14 +92,14 @@ void EmptyMap::draw(QPainter *painter, const QRectF &rect, bool block)
Q_UNUSED(block);
}
QPointF EmptyMap::ll2xy(const Coordinates &c) const
QPointF EmptyMap::ll2xy(const Coordinates &c)
{
qreal scale = zoom2scale(_zoom);
QPointF m = ll2m(c);
return QPointF(m.x() / scale, m.y() / -scale);
}
Coordinates EmptyMap::xy2ll(const QPointF &p) const
Coordinates EmptyMap::xy2ll(const QPointF &p)
{
qreal scale = zoom2scale(_zoom);
return m2ll(QPointF(p.x() * scale, -p.y() * scale));

View File

@ -10,9 +10,9 @@ class EmptyMap : public Map
public:
EmptyMap(QObject *parent = 0);
const QString &name() const {return _name;}
QString name() const {return QString();}
QRectF bounds() const;
QRectF bounds();
qreal resolution(const QRectF &rect);
int zoom() const {return _zoom;}
@ -21,18 +21,12 @@ public:
int zoomIn();
int zoomOut();
QPointF ll2xy(const Coordinates &c)
{return static_cast<const EmptyMap &>(*this).ll2xy(c);}
Coordinates xy2ll(const QPointF &p)
{return static_cast<const EmptyMap &>(*this).xy2ll(p);}
QPointF ll2xy(const Coordinates &c);
Coordinates xy2ll(const QPointF &p);
void draw(QPainter *painter, const QRectF &rect, bool block);
private:
QPointF ll2xy(const Coordinates &c) const;
Coordinates xy2ll(const QPointF &p) const;
QString _name;
int _zoom;
};

View File

@ -158,7 +158,7 @@ Coordinates JNXMap::xy2ll(const QPointF &p)
return Coordinates(pp.x(), pp.y());
}
QRectF JNXMap::bounds() const
QRectF JNXMap::bounds()
{
const Transform &t = _zooms.at(_zoom).transform;

View File

@ -16,9 +16,9 @@ public:
public:
JNXMap(const QString &fileName, QObject *parent = 0);
const QString &name() const {return _name;}
QString name() const {return _name;}
QRectF bounds() const;
QRectF bounds();
int zoom() const {return _zoom;}
void setZoom(int zoom) {_zoom = zoom;}

View File

@ -18,9 +18,9 @@ public:
Map(QObject *parent = 0) : QObject(parent) {}
virtual ~Map() {}
virtual const QString &name() const = 0;
virtual QString name() const = 0;
virtual QRectF bounds() const = 0;
virtual QRectF bounds() = 0;
virtual qreal resolution(const QRectF &rect);
virtual int zoom() const = 0;

View File

@ -333,7 +333,7 @@ Coordinates OfflineMap::xy2ll(const QPointF &p)
: _projection.xy2ll(_transform.img2proj(p));
}
QRectF OfflineMap::bounds() const
QRectF OfflineMap::bounds()
{
return _ozf
? QRectF(QPointF(0, 0), _ozf->size(_zoom))

View File

@ -18,9 +18,9 @@ public:
OfflineMap(const QString &fileName, Tar &tar, QObject *parent = 0);
~OfflineMap();
const QString &name() const {return _name;}
QString name() const {return _name;}
QRectF bounds() const;
QRectF bounds();
int zoom() const {return _zoom;}
void setZoom(int zoom) {_zoom = zoom;}

View File

@ -64,7 +64,7 @@ OnlineMap::OnlineMap(const QString &name, const QString &url,
_valid = true;
}
QRectF OnlineMap::bounds() const
QRectF OnlineMap::bounds()
{
return QRectF(ll2xy(_bounds.topLeft()), ll2xy(_bounds.bottomRight()));
}
@ -141,14 +141,14 @@ void OnlineMap::draw(QPainter *painter, const QRectF &rect, bool block)
}
}
QPointF OnlineMap::ll2xy(const Coordinates &c) const
QPointF OnlineMap::ll2xy(const Coordinates &c)
{
qreal scale = zoom2scale(_zoom);
QPointF m = ll2m(c);
return QPointF(m.x() / scale, m.y() / -scale);
}
Coordinates OnlineMap::xy2ll(const QPointF &p) const
Coordinates OnlineMap::xy2ll(const QPointF &p)
{
qreal scale = zoom2scale(_zoom);
return m2ll(QPointF(p.x() * scale, -p.y() * scale));

View File

@ -15,9 +15,9 @@ public:
const RectC &bounds, const Authorization &authorization,
QObject *parent = 0);
const QString &name() const {return _name;}
QString name() const {return _name;}
QRectF bounds() const;
QRectF bounds();
qreal resolution(const QRectF &rect);
int zoom() const {return _zoom;}
@ -26,10 +26,8 @@ public:
int zoomIn();
int zoomOut();
QPointF ll2xy(const Coordinates &c)
{return static_cast<const OnlineMap &>(*this).ll2xy(c);}
Coordinates xy2ll(const QPointF &p)
{return static_cast<const OnlineMap &>(*this).xy2ll(p);}
QPointF ll2xy(const Coordinates &c);
Coordinates xy2ll(const QPointF &p);
void draw(QPainter *painter, const QRectF &rect, bool block);
@ -39,8 +37,6 @@ public:
QString errorString() const {return _errorString;}
private:
QPointF ll2xy(const Coordinates &c) const;
Coordinates xy2ll(const QPointF &p) const;
int limitZoom(int zoom) const;
TileLoader *_tileLoader;

View File

@ -127,7 +127,7 @@ void WMSMap::clearCache()
qWarning("%s: %s\n", qPrintable(_name), qPrintable(_errorString));
}
QRectF WMSMap::bounds() const
QRectF WMSMap::bounds()
{
return QRectF(_transform.proj2img(_bbox.topLeft()),
_transform.proj2img(_bbox.bottomRight()));

View File

@ -16,9 +16,9 @@ class WMSMap : public Map
public:
WMSMap(const QString &name, const WMS::Setup &setup, QObject *parent = 0);
const QString &name() const {return _name;}
QString name() const {return _name;}
QRectF bounds() const;
QRectF bounds();
int zoom() const {return _zoom;}
void setZoom(int zoom);

View File

@ -91,7 +91,7 @@ void WMTSMap::updateTransform()
_transform = Transform(tl, br);
}
QRectF WMTSMap::bounds() const
QRectF WMTSMap::bounds()
{
const WMTS::Zoom &z = _zooms.at(_zoom);
QRectF tileBounds, bounds;
@ -179,12 +179,12 @@ void WMTSMap::draw(QPainter *painter, const QRectF &rect, bool block)
}
}
QPointF WMTSMap::ll2xy(const Coordinates &c) const
QPointF WMTSMap::ll2xy(const Coordinates &c)
{
return _transform.proj2img(_projection.ll2xy(c));
}
Coordinates WMTSMap::xy2ll(const QPointF &p) const
Coordinates WMTSMap::xy2ll(const QPointF &p)
{
return _projection.xy2ll(_transform.img2proj(p));
}

View File

@ -15,9 +15,9 @@ class WMTSMap : public Map
public:
WMTSMap(const QString &name, const WMTS::Setup &setup, QObject *parent = 0);
const QString &name() const {return _name;}
QString name() const {return _name;}
QRectF bounds() const;
QRectF bounds();
int zoom() const {return _zoom;}
void setZoom(int zoom);
@ -25,10 +25,8 @@ public:
int zoomIn();
int zoomOut();
QPointF ll2xy(const Coordinates &c)
{return static_cast<const WMTSMap &>(*this).ll2xy(c);}
Coordinates xy2ll(const QPointF &p)
{return static_cast<const WMTSMap &>(*this).xy2ll(p);}
QPointF ll2xy(const Coordinates &c);
Coordinates xy2ll(const QPointF &p);
void draw(QPainter *painter, const QRectF &rect, bool block);
@ -43,9 +41,6 @@ private:
QString tilesDir() const;
void updateTransform();
QPointF ll2xy(const Coordinates &c) const;
Coordinates xy2ll(const QPointF &p) const;
QString _name;
WMTS::Setup _setup;
TileLoader *_tileLoader;