1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2025-01-18 03:52:11 +01:00

OP-37 GCS/MapPlugin New map library-Fully qualified some classes instead of using "using namespace" to avoid ambiguities with other classes and namespaces already in use.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@778 ebee16cc-31ac-478f-84a7-5cbb03baadba
This commit is contained in:
zedamota 2010-06-15 19:37:45 +00:00 committed by zedamota
parent ea3f3446e2
commit 5b323897f6
33 changed files with 148 additions and 617 deletions

View File

@ -29,7 +29,7 @@
#define CACHEITEMQUEUE_H
#include "maptype.h"
#include "point.h"
#include "Point.h"
#include <QByteArray>
@ -38,7 +38,7 @@ namespace core {
class CacheItemQueue
{
public:
CacheItemQueue(const MapType::Types &Type,const Point &Pos,const QByteArray &Img,const int &Zoom);
CacheItemQueue(const MapType::Types &Type,const core::Point &Pos,const QByteArray &Img,const int &Zoom);
CacheItemQueue(){};
CacheItemQueue(const CacheItemQueue &cSource)
{
@ -50,10 +50,10 @@ namespace core {
CacheItemQueue& operator= (const CacheItemQueue &cSource);
bool operator== (const CacheItemQueue &cSource);
void SetMapType(const MapType::Types &value);
void SetPosition(const Point &value);
void SetPosition(const core::Point &value);
void SetImg(const QByteArray &value);
MapType::Types GetMapType();
Point GetPosition();
core::Point GetPosition();
QByteArray GetImg();
int GetZoom(){return zoom;};
void SetZoom(const int &value) {zoom=value;};
@ -61,7 +61,7 @@ namespace core {
MapType::Types type;
Point pos;
core::Point pos;
QByteArray img;
int zoom;
};

View File

@ -60,7 +60,7 @@ namespace core {
/// </summary>
QByteArray GetImageFrom(const MapType::Types &type,const Point &pos,const int &zoom);
QByteArray GetImageFrom(const MapType::Types &type,const core::Point &pos,const int &zoom);
bool UseMemoryCache();//TODO
void setUseMemoryCache(const bool& value){useMemoryCache=value;}
void setLanguage(const LanguageType::Types& language);//TODO

View File

@ -25,8 +25,8 @@
* with this program; if not, write to the Free Software Foundation, Inc.,
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef POINT_H
#define POINT_H
#ifndef OPOINT_H
#define OPOINT_H
#include <QString>

View File

@ -50,8 +50,8 @@ namespace core {
public:
PureImageCache();
static bool CreateEmptyDB(const QString &file);
bool PutImageToCache(const QByteArray &tile,const MapType::Types &type,const Point &pos, const int &zoom);
QByteArray GetImageFromCache(MapType::Types type, Point pos, int zoom);
bool PutImageToCache(const QByteArray &tile,const MapType::Types &type,const core::Point &pos, const int &zoom);
QByteArray GetImageFromCache(MapType::Types type, core::Point pos, int zoom);
QString GtileCache();
void setGtileCache(const QString &value);
static bool ExportMapDataToDB(QString sourceFile, QString destFile);

View File

@ -40,17 +40,17 @@ namespace core {
friend bool operator==(RawTile const& lhs,RawTile const& rhs);
public:
RawTile(const MapType::Types &Type,const Point &Pos,const int &Zoom);
RawTile(const MapType::Types &Type,const core::Point &Pos,const int &Zoom);
QString ToString(void);
MapType::Types Type();
Point Pos();
core::Point Pos();
int Zoom();
void setType(const MapType::Types &value);
void setPos(const Point &value);
void setPos(const core::Point &value);
void setZoom(const int &value);
private:
MapType::Types type;
Point pos;
core::Point pos;
int zoom;
};
}

View File

@ -54,7 +54,6 @@ namespace core {
private:
int width;
int height;
Point p;
};
}
#endif // SIZE_H

View File

@ -560,23 +560,23 @@ QString UrlFactory::MakeGeocoderUrl(QString keywords)
QString key = keywords.replace(' ', '+');
return QString("http://maps.google.com/maps/geo?q=%1&output=csv&key=%2").arg(key).arg(GoogleMapsAPIKey);
}
QString UrlFactory::MakeReverseGeocoderUrl(PointLatLng &pt,const QString &language)
QString UrlFactory::MakeReverseGeocoderUrl(internals::PointLatLng &pt,const QString &language)
{
return QString("http://maps.google.com/maps/geo?hl=%1&ll=%2,%3&output=csv&key=%4").arg(language).arg(QString::number(pt.Lat())).arg(QString::number(pt.Lng())).arg(GoogleMapsAPIKey);
}
PointLatLng UrlFactory::GetLatLngFromGeodecoder(const QString &keywords, GeoCoderStatusCode::Types &status)
internals::PointLatLng UrlFactory::GetLatLngFromGeodecoder(const QString &keywords, GeoCoderStatusCode::Types &status)
{
return GetLatLngFromGeocoderUrl(MakeGeocoderUrl(keywords),UseGeocoderCache,status);
}
PointLatLng UrlFactory::GetLatLngFromGeocoderUrl(const QString &url, const bool &useCache, GeoCoderStatusCode::Types &status)
internals::PointLatLng UrlFactory::GetLatLngFromGeocoderUrl(const QString &url, const bool &useCache, GeoCoderStatusCode::Types &status)
{
#ifdef DEBUG_URLFACTORY
qDebug()<<"Entered GetLatLngFromGeocoderUrl:";
#endif //DEBUG_URLFACTORY
status = GeoCoderStatusCode::Unknow;
PointLatLng ret(0,0);
internals::PointLatLng ret(0,0);
QString urlEnd = url.right(url.indexOf("geo?q="));
urlEnd.replace( QRegExp(
"[^"
@ -616,7 +616,7 @@ PointLatLng UrlFactory::GetLatLngFromGeocoderUrl(const QString &url, const bool
#ifdef DEBUG_URLFACTORY
qDebug()<<"GetLatLngFromGeocoderUrl::Network error";
#endif //DEBUG_URLFACTORY
return PointLatLng(0,0);
return internals::PointLatLng(0,0);
}
{
#ifdef DEBUG_URLFACTORY
@ -648,7 +648,7 @@ PointLatLng UrlFactory::GetLatLngFromGeocoderUrl(const QString &url, const bool
double lat = QString(values[2]).toDouble();
double lng = QString(values[3]).toDouble();
ret = PointLatLng(lat, lng);
ret = internals::PointLatLng(lat, lng);
#ifdef DEBUG_URLFACTORY
qDebug()<<"Lat="<<lat<<" Lng="<<lng;
#endif //DEBUG_URLFACTORY
@ -658,7 +658,7 @@ PointLatLng UrlFactory::GetLatLngFromGeocoderUrl(const QString &url, const bool
return ret;
}
Placemark UrlFactory::GetPlacemarkFromGeocoder(PointLatLng location)
Placemark UrlFactory::GetPlacemarkFromGeocoder(internals::PointLatLng location)
{
return GetPlacemarkFromReverseGeocoderUrl(MakeReverseGeocoderUrl(location, LanguageStr), UsePlacemarkCache);
}
@ -744,7 +744,7 @@ Placemark UrlFactory::GetPlacemarkFromReverseGeocoderUrl(const QString &url, con
}
return ret;
}
double UrlFactory::GetDistance(PointLatLng p1, PointLatLng p2)
double UrlFactory::GetDistance(internals::PointLatLng p1, internals::PointLatLng p2)
{
double dLat1InRad = p1.Lat() * (M_PI / 180);
double dLong1InRad = p1.Lng() * (M_PI / 180);

View File

@ -45,8 +45,6 @@
#include <QTextCodec>
#include "cmath"
using namespace internals;
namespace core {
class UrlFactory: public QObject,public ProviderStrings
{
@ -59,13 +57,13 @@ namespace core {
QNetworkProxy Proxy;
UrlFactory();
~UrlFactory();
QString MakeImageUrl(const MapType::Types &type,const Point &pos,const int &zoom,const QString &language);
PointLatLng GetLatLngFromGeodecoder(const QString &keywords,GeoCoderStatusCode::Types &status);
Placemark GetPlacemarkFromGeocoder(PointLatLng location);
QString MakeImageUrl(const MapType::Types &type,const core::Point &pos,const int &zoom,const QString &language);
internals::PointLatLng GetLatLngFromGeodecoder(const QString &keywords,GeoCoderStatusCode::Types &status);
Placemark GetPlacemarkFromGeocoder(internals::PointLatLng location);
int Timeout;
private:
void GetSecGoogleWords(const Point &pos, QString &sec1, QString &sec2);
int GetServerNum(const Point &pos,const int &max) const;
void GetSecGoogleWords(const core::Point &pos, QString &sec1, QString &sec2);
int GetServerNum(const core::Point &pos,const int &max) const;
void TryCorrectGoogleVersions();
bool isCorrectedGoogleVersions;
QString TileXYToQuadKey(const int &tileX,const int &tileY,const int &levelOfDetail) const;
@ -73,7 +71,7 @@ namespace core {
bool UseGeocoderCache; //TODO GetSet
bool UsePlacemarkCache;//TODO GetSet
static const double EarthRadiusKm = 6378.137; // WGS-84
double GetDistance(PointLatLng p1,PointLatLng p2);
double GetDistance(internals::PointLatLng p1,internals::PointLatLng p2);
protected:
static short timelapse;
@ -81,8 +79,8 @@ namespace core {
bool IsCorrectGoogleVersions();
void setIsCorrectGoogleVersions(bool value);
QString MakeGeocoderUrl(QString keywords);
QString MakeReverseGeocoderUrl(PointLatLng &pt,const QString &language);
PointLatLng GetLatLngFromGeocoderUrl(const QString &url,const bool &useCache, GeoCoderStatusCode::Types &status);
QString MakeReverseGeocoderUrl(internals::PointLatLng &pt,const QString &language);
internals::PointLatLng GetLatLngFromGeocoderUrl(const QString &url,const bool &useCache, GeoCoderStatusCode::Types &status);
Placemark GetPlacemarkFromReverseGeocoderUrl(const QString &url,const bool &useCache);
};

View File

@ -33,6 +33,8 @@
#include "../internals/pointlatlng.h"
#include "mousewheelzoomtype.h"
#include "../core/size.h"
#include "../core/point.h"
#include "../core/maptype.h"
#include "rectangle.h"
#include "QThreadPool"
@ -74,29 +76,29 @@ public:
PointLatLng CurrentPosition()const{return currentPosition;};
void SetCurrentPosition(const PointLatLng &value);
Point GetcurrentPositionGPixel(){return currentPositionPixel;};
void SetcurrentPositionGPixel(const Point &value){currentPositionPixel=value;};
core::Point GetcurrentPositionGPixel(){return currentPositionPixel;};
void SetcurrentPositionGPixel(const core::Point &value){currentPositionPixel=value;};
Point GetrenderOffset(){return renderOffset;};
void SetrenderOffset(const Point &value){renderOffset=value;};
core::Point GetrenderOffset(){return renderOffset;};
void SetrenderOffset(const core::Point &value){renderOffset=value;};
Point GetcenterTileXYLocation(){return centerTileXYLocation;};
void SetcenterTileXYLocation(const Point &value){centerTileXYLocation=value;};
core::Point GetcenterTileXYLocation(){return centerTileXYLocation;};
void SetcenterTileXYLocation(const core::Point &value){centerTileXYLocation=value;};
Point GetcenterTileXYLocationLast(){return centerTileXYLocationLast;};
void SetcenterTileXYLocationLast(const Point &value){centerTileXYLocationLast=value;};
core::Point GetcenterTileXYLocationLast(){return centerTileXYLocationLast;};
void SetcenterTileXYLocationLast(const core::Point &value){centerTileXYLocationLast=value;};
Point GetdragPoint(){return dragPoint;};
void SetdragPoint(const Point &value){dragPoint=value;};
core::Point GetdragPoint(){return dragPoint;};
void SetdragPoint(const core::Point &value){dragPoint=value;};
Point GetmouseDown(){return mouseDown;};
void SetmouseDown(const Point &value){mouseDown=value;};
core::Point GetmouseDown(){return mouseDown;};
void SetmouseDown(const core::Point &value){mouseDown=value;};
Point GetmouseCurrent(){return mouseCurrent;};
void SetmouseCurrent(const Point &value){mouseCurrent=value;};
core::Point GetmouseCurrent(){return mouseCurrent;};
void SetmouseCurrent(const core::Point &value){mouseCurrent=value;};
Point GetmouseLastZoom(){return mouseLastZoom;};
void SetmouseLastZoom(const Point &value){mouseLastZoom=value;};
core::Point GetmouseLastZoom(){return mouseLastZoom;};
void SetmouseLastZoom(const core::Point &value){mouseLastZoom=value;};
MouseWheelZoomType::Types GetMouseWheelZoomType(){return mousewheelzoomtype;};
void SetMouseWheelZoomType(const MouseWheelZoomType::Types &value){mousewheelzoomtype=value;};
@ -116,13 +118,13 @@ public:
Rectangle GettileRect(){return tileRect;}
void SettileRect(const Rectangle &value){tileRect=value;}
Point GettilePoint(){return tilePoint;}
void SettilePoint(const Point &value){tilePoint=value;}
core::Point GettilePoint(){return tilePoint;}
void SettilePoint(const core::Point &value){tilePoint=value;}
Rectangle GetCurrentRegion(){return CurrentRegion;}
void SetCurrentRegion(const Rectangle &value){CurrentRegion=value;}
QList<Point> tileDrawingList;
QList<core::Point> tileDrawingList;
PureProjection* Projection()
{
@ -131,7 +133,7 @@ public:
void SetProjection(PureProjection* value)
{
projection=value;
tileRect=Rectangle(Point(0,0),value->TileSize());
tileRect=Rectangle(core::Point(0,0),value->TileSize());
}
bool IsDragging()const{return isDragging;}
@ -164,7 +166,7 @@ public:
int GetMaxZoomToFitRect(RectLatLng const& rect);
void BeginDrag(Point const& pt);
void BeginDrag(core::Point const& pt);
void EndDrag();
@ -174,13 +176,13 @@ public:
bool MouseWheelZooming;
void DragOffset(Point const& offset);
void DragOffset(core::Point const& offset);
void Drag(Point const& pt);
void Drag(core::Point const& pt);
void CancelAsyncTasks();
void FindTilesAround(QList<Point> &list);
void FindTilesAround(QList<core::Point> &list);
void UpdateGroundResolution();
@ -196,24 +198,24 @@ signals:
void OnMapDrag();
void OnMapZoomChanged();
void OnMapTypeChanged(MapType::Types type);
void OnEmptyTileError(int zoom, Point pos);
void OnEmptyTileError(int zoom, core::Point pos);
void OnNeedInvalidation();
private:
PointLatLng currentPosition;
Point currentPositionPixel;
Point renderOffset;
Point centerTileXYLocation;
Point centerTileXYLocationLast;
Point dragPoint;
core::Point currentPositionPixel;
core::Point renderOffset;
core::Point centerTileXYLocation;
core::Point centerTileXYLocationLast;
core::Point dragPoint;
Rectangle tileRect;
Point mouseDown;
core::Point mouseDown;
bool CanDragMap;
Point mouseCurrent;
core::Point mouseCurrent;
PointLatLng LastLocationInBounds;
Point mouseLastZoom;
core::Point mouseLastZoom;
MouseWheelZoomType::Types mousewheelzoomtype;
@ -224,7 +226,7 @@ private:
Point tilePoint;
core::Point tilePoint;
Rectangle CurrentRegion;
@ -265,7 +267,7 @@ protected:
int pxRes100km; // 100km
int pxRes1000km; // 1000km
int pxRes5000km; // 5000km
void SetCurrentPositionGPixel(Point const& value){currentPositionPixel = value;}
void SetCurrentPositionGPixel(core::Point const& value){currentPositionPixel = value;}
void GoToCurrentPositionOnZoom();
};

View File

@ -38,7 +38,7 @@ struct LoadTask
{
friend bool operator==(LoadTask const& lhs,LoadTask const& rhs);
public:
Point Pos;
core::Point Pos;
int Zoom;
@ -49,7 +49,7 @@ struct LoadTask
}
LoadTask()
{
Pos=Point(-1,-1);
Pos=core::Point(-1,-1);
Zoom=-1;
}
bool HasValue()

View File

@ -71,9 +71,9 @@ Point LKS94Projection::FromLatLngToPixel(double lat, double lng, int const& zoo
return ret;
}
PointLatLng LKS94Projection::FromPixelToLatLng(int const& x, int const& y, int const& zoom)
internals::PointLatLng LKS94Projection::FromPixelToLatLng(int const& x, int const& y, int const& zoom)
{
PointLatLng ret;// = PointLatLng::Empty;
internals::PointLatLng ret;// = internals::PointLatLng::Empty;
double res = GetTileMatrixResolution(zoom);

View File

@ -31,7 +31,6 @@
#include "cmath"
#include "../pureprojection.h"
using namespace internals;
namespace projections {
class LKS94Projection:public internals::PureProjection
@ -43,8 +42,8 @@ public:
virtual Size TileSize() const;
virtual double Axis() const;
virtual double Flattening() const;
virtual Point FromLatLngToPixel(double lat, double lng, int const& zoom);
virtual PointLatLng FromPixelToLatLng(int const& x, int const& y, int const& zoom);
virtual core::Point FromLatLngToPixel(double lat, double lng, int const& zoom);
virtual internals::PointLatLng FromPixelToLatLng(int const& x, int const& y, int const& zoom);
virtual double GetGroundResolution(int const& zoom, double const& latitude);
virtual Size GetTileMatrixMinXY(int const& zoom);
virtual Size GetTileMatrixMaxXY(int const& zoom);

View File

@ -53,9 +53,9 @@ Point MercatorProjection::FromLatLngToPixel(double lat, double lng, const int &z
return ret;
}
PointLatLng MercatorProjection::FromPixelToLatLng(const int &x, const int &y, const int &zoom)
internals::PointLatLng MercatorProjection::FromPixelToLatLng(const int &x, const int &y, const int &zoom)
{
PointLatLng ret;// = PointLatLng.Empty;
internals::PointLatLng ret;// = internals::PointLatLng.Empty;
Size s = GetTileMatrixSizePixel(zoom);
double mapSizeX = s.Width();

View File

@ -29,7 +29,6 @@
#define MERCATORPROJECTION_H
#include "../pureprojection.h"
using namespace internals;
namespace projections {
class MercatorProjection:public internals::PureProjection
@ -40,8 +39,8 @@ public:
virtual Size TileSize() const;
virtual double Axis() const;
virtual double Flattening()const;
virtual Point FromLatLngToPixel(double lat, double lng, int const& zoom);
virtual PointLatLng FromPixelToLatLng(const int &x,const int &y,const int &zoom);
virtual core::Point FromLatLngToPixel(double lat, double lng, int const& zoom);
virtual internals::PointLatLng FromPixelToLatLng(const int &x,const int &y,const int &zoom);
virtual Size GetTileMatrixMinXY(const int &zoom);
virtual Size GetTileMatrixMaxXY(const int &zoom);
private:

View File

@ -58,7 +58,7 @@ Point MercatorProjectionYandex::FromLatLngToPixel(double lat, double lng, const
return ret;
}
PointLatLng MercatorProjectionYandex::FromPixelToLatLng(const int &x, const int &y, const int &zoom)
internals::PointLatLng MercatorProjectionYandex::FromPixelToLatLng(const int &x, const int &y, const int &zoom)
{
Size s = GetTileMatrixSizePixel(zoom);
@ -77,7 +77,7 @@ PointLatLng MercatorProjectionYandex::FromPixelToLatLng(const int &x, const int
double g = M_PI /2 - 2 *atan(1 / exp(mercY /a));
double z = g + c1 * sin(2 * g) + c2 * sin(4 * g) + c3 * sin(6 * g) + c4 * sin(8 * g);
PointLatLng ret;// = PointLatLng.Empty;
internals::PointLatLng ret;// = internals::PointLatLng.Empty;
ret.SetLat(z * RAD_DEG);
ret.SetLng (mercX / a * RAD_DEG);

View File

@ -30,10 +30,9 @@
#include "../pureprojection.h"
using namespace internals;
namespace projections {
class MercatorProjectionYandex:public PureProjection
class MercatorProjectionYandex:public internals::PureProjection
{
public:
MercatorProjectionYandex();
@ -41,8 +40,8 @@ public:
virtual Size TileSize() const;
virtual double Axis() const;
virtual double Flattening()const;
virtual Point FromLatLngToPixel(double lat, double lng, int const& zoom);
virtual PointLatLng FromPixelToLatLng(const int &x,const int &y,const int &zoom);
virtual core::Point FromLatLngToPixel(double lat, double lng, int const& zoom);
virtual internals::PointLatLng FromPixelToLatLng(const int &x,const int &y,const int &zoom);
virtual Size GetTileMatrixMinXY(const int &zoom);
virtual Size GetTileMatrixMaxXY(const int &zoom);
private:

View File

@ -53,9 +53,9 @@ Point PlateCarreeProjection::FromLatLngToPixel(double lat, double lng, const int
return ret;
}
PointLatLng PlateCarreeProjection::FromPixelToLatLng(const int &x, const int &y, const int &zoom)
internals::PointLatLng PlateCarreeProjection::FromPixelToLatLng(const int &x, const int &y, const int &zoom)
{
PointLatLng ret;// = PointLatLng.Empty;
internals::PointLatLng ret;// = internals::PointLatLng.Empty;
Size s = GetTileMatrixSizePixel(zoom);
double mapSizeX = s.Width();

View File

@ -30,10 +30,9 @@
#include "../pureprojection.h"
using namespace internals;
namespace projections {
class PlateCarreeProjection:public PureProjection
class PlateCarreeProjection:public internals::PureProjection
{
public:
PlateCarreeProjection();
@ -41,8 +40,8 @@ public:
virtual Size TileSize() const;
virtual double Axis() const;
virtual double Flattening()const;
virtual Point FromLatLngToPixel(double lat, double lng, int const& zoom);
virtual PointLatLng FromPixelToLatLng(const int &x,const int &y,const int &zoom);
virtual core::Point FromLatLngToPixel(double lat, double lng, int const& zoom);
virtual internals::PointLatLng FromPixelToLatLng(const int &x,const int &y,const int &zoom);
virtual Size GetTileMatrixMinXY(const int &zoom);
virtual Size GetTileMatrixMaxXY(const int &zoom);
private:

View File

@ -51,9 +51,9 @@ Point PlateCarreeProjectionPergo::FromLatLngToPixel(double lat, double lng, cons
return ret;
}
PointLatLng PlateCarreeProjectionPergo::FromPixelToLatLng(const int &x, const int &y, const int &zoom)
internals::PointLatLng PlateCarreeProjectionPergo::FromPixelToLatLng(const int &x, const int &y, const int &zoom)
{
PointLatLng ret;// = PointLatLng.Empty;
internals::PointLatLng ret;// = internals::PointLatLng.Empty;
Size s = GetTileMatrixSizePixel(zoom);
double mapSizeX = s.Width();

View File

@ -30,10 +30,9 @@
#include "../pureprojection.h"
using namespace internals;
namespace projections {
class PlateCarreeProjectionPergo:public PureProjection
class PlateCarreeProjectionPergo:public internals::PureProjection
{
public:
PlateCarreeProjectionPergo();
@ -41,8 +40,8 @@ public:
virtual Size TileSize() const;
virtual double Axis() const;
virtual double Flattening()const;
virtual Point FromLatLngToPixel(double lat, double lng, int const& zoom);
virtual PointLatLng FromPixelToLatLng(const int &x,const int &y,const int &zoom);
virtual core::Point FromLatLngToPixel(double lat, double lng, int const& zoom);
virtual internals::PointLatLng FromPixelToLatLng(const int &x,const int &y,const int &zoom);
virtual Size GetTileMatrixMinXY(const int &zoom);
virtual Size GetTileMatrixMaxXY(const int &zoom);
private:

View File

@ -51,22 +51,22 @@ public:
virtual double Flattening()const=0;
virtual Point FromLatLngToPixel(double lat, double lng, int const& zoom)=0;
virtual core::Point FromLatLngToPixel(double lat, double lng, int const& zoom)=0;
virtual PointLatLng FromPixelToLatLng(const int &x,const int &y,const int &zoom)=0;
virtual QString Type(){return "PureProjection";}
Point FromLatLngToPixel(const PointLatLng &p,const int &zoom);
core::Point FromLatLngToPixel(const PointLatLng &p,const int &zoom);
PointLatLng FromPixelToLatLng(const Point &p,const int &zoom);
virtual Point FromPixelToTileXY(const Point &p);
virtual Point FromTileXYToPixel(const Point &p);
virtual core::Point FromPixelToTileXY(const core::Point &p);
virtual core::Point FromTileXYToPixel(const core::Point &p);
virtual Size GetTileMatrixMinXY(const int &zoom)=0;
virtual Size GetTileMatrixMaxXY(const int &zoom)=0;
virtual Size GetTileMatrixSizeXY(const int &zoom);
int GetTileMatrixItemCount(const int &zoom);
virtual Size GetTileMatrixSizePixel(const int &zoom);
QList<Point> GetAreaTileList(const RectLatLng &rect,const int &zoom,const int &padding);
QList<core::Point> GetAreaTileList(const RectLatLng &rect,const int &zoom,const int &padding);
virtual double GetGroundResolution(const int &zoom,const double &latitude);
double DegreesToRadians(const double &deg)const

View File

@ -49,17 +49,17 @@ public:
this->width = width;
this->height = height;
}
Rectangle(Point location, Size size)
Rectangle(core::Point location, core::Size size)
{
this->x = location.X();
this->y = location.Y();
this->width = size.Width();
this->height = size.Height();
}
Point GetLocation() {
return Point(x, y);
core::Point GetLocation() {
return core::Point(x, y);
}
void SetLocation(const Point &value)
void SetLocation(const core::Point &value)
{
x = value.X();
y = value.Y();
@ -88,7 +88,7 @@ public:
{
return this->x<=x && x<this->x+this->width && this->y<=y && y<this->y+this->height;
}
bool Contains(const Point &pt)
bool Contains(const core::Point &pt)
{
return Contains(pt.X(),pt.Y());
}
@ -133,7 +133,7 @@ public:
(this->y < rect.y + rect.height);
}
static Rectangle Union(const Rectangle &a,const Rectangle &b);
void Offset(const Point &pos)
void Offset(const core::Point &pos)
{
Offset(pos.X(), pos.Y());
}

View File

@ -40,13 +40,13 @@ namespace internals
class Tile
{
public:
Tile(int zoom,Point pos);
Tile(int zoom,core::Point pos);
Tile();
void Clear();
int GetZoom(){return zoom;}
Point GetPos(){return pos;}
core::Point GetPos(){return pos;}
void SetZoom(const int &value){zoom=value;}
void SetPos(const Point &value){pos=value;}
void SetPos(const core::Point &value){pos=value;}
Tile& operator= (const Tile &cSource);
Tile(const Tile &cSource)
{
@ -60,7 +60,7 @@ protected:
QMutex mutex;
private:
int zoom;
Point pos;
core::Point pos;
};

View File

@ -39,13 +39,13 @@ class TileMatrix
public:
TileMatrix();
void Clear();
void ClearPointsNotIn(QList<Point> list);
Tile* TileAt(const Point &p);
void SetTileAt(const Point &p,Tile* tile);
void ClearPointsNotIn(QList<core::Point> list);
Tile* TileAt(const core::Point &p);
void SetTileAt(const core::Point &p,Tile* tile);
int count()const{return matrix.count();}
protected:
QHash<Point,Tile*> matrix;
QList<Point> removals;
QHash<core::Point,Tile*> matrix;
QList<core::Point> removals;
QMutex mutex;
};

View File

@ -1,7 +1,7 @@
#include "mapgraphicitem.h"
namespace mapcontrol
{
MapGraphicItem::MapGraphicItem(Core *core):core(core),MapRenderTransform(1), maxZoom(17),minZoom(2),zoomReal(0),isSelected(false),rotation(0)
MapGraphicItem::MapGraphicItem(internals::Core *core):core(core),MapRenderTransform(1), maxZoom(17),minZoom(2),zoomReal(0),isSelected(false),rotation(0)
{
EmptytileBrush = Qt::cyan;
MissingDataFont =QFont ("Times",10,QFont::Bold);
@ -14,10 +14,9 @@ namespace mapcontrol
DragButton = Qt::RightButton;
isMouseOverMarker=false;
maprect=QRectF(0,0,1022,680);
core->SetCurrentRegion(Rectangle(0, 0, maprect.width(), maprect.height()));
core->SetCurrentRegion(internals::Rectangle(0, 0, maprect.width(), maprect.height()));
core->SetMapType(MapType::GoogleHybrid);
this->SetZoom(2);
connect(core,SIGNAL(OnNeedInvalidation()),this,SLOT(Core_OnNeedInvalidation()));
@ -39,7 +38,7 @@ namespace mapcontrol
}
core->OnMapSizeChanged(maprect.width(),maprect.height());
core->SetCurrentRegion(Rectangle(0, 0, maprect.width(), maprect.height()));
core->SetCurrentRegion(internals::Rectangle(0, 0, maprect.width(), maprect.height()));
if(isVisible())
{
core->GoToCurrentPosition();
@ -106,8 +105,8 @@ namespace mapcontrol
else if(!isSelected)
{
isSelected = true;
SetSelectedArea (RectLatLng::Empty);
selectionEnd = PointLatLng::Empty;
SetSelectedArea (internals::RectLatLng::Empty);
selectionEnd = internals::PointLatLng::Empty;
selectionStart = FromLocalToLatLng(event->pos().x(), event->pos().y());
}
}
@ -150,15 +149,15 @@ namespace mapcontrol
{
if(core->GetmouseLastZoom().X() != event->pos().x() && core->mouseLastZoom.Y() != event->pos().y())
{
if(GetMouseWheelZoomType() == MouseWheelZoomType::MousePositionAndCenter)
if(GetMouseWheelZoomType() == internals::MouseWheelZoomType::MousePositionAndCenter)
{
core->SetCurrentPosition(FromLocalToLatLng(event->pos().x(), event->pos().y()));
}
else if(GetMouseWheelZoomType() == MouseWheelZoomType::ViewCenter)
else if(GetMouseWheelZoomType() == internals::MouseWheelZoomType::ViewCenter)
{
core->SetCurrentPosition(FromLocalToLatLng((int) maprect.width()/2, (int) maprect.height()/2));
}
else if(GetMouseWheelZoomType() == MouseWheelZoomType::MousePositionWithoutCenter)
else if(GetMouseWheelZoomType() == internals::MouseWheelZoomType::MousePositionWithoutCenter)
{
core->SetCurrentPosition(FromLocalToLatLng(event->pos().x(), event->pos().y()));
@ -169,7 +168,7 @@ namespace mapcontrol
}
// set mouse position to map center
if(GetMouseWheelZoomType() != MouseWheelZoomType::MousePositionWithoutCenter)
if(GetMouseWheelZoomType() != internals::MouseWheelZoomType::MousePositionWithoutCenter)
{
{
// System.Drawing.Point p = PointToScreen(new System.Drawing.Point(Width/2, Height/2));
@ -205,7 +204,7 @@ namespace mapcontrol
{
Tile* t = core->Matrix.TileAt(core->GettilePoint());
internals::Tile* t = core->Matrix.TileAt(core->GettilePoint());
//qDebug()<<"OPMapControl::DrawMap2D tile:"<<t->GetPos().ToString()<<" as "<<t->Overlays.count()<<" overlays";
//Tile t = core->Matrix[tileToDraw];
if(t!=0)
@ -270,7 +269,7 @@ namespace mapcontrol
}
}
}
PointLatLng MapGraphicItem::FromLocalToLatLng(int x, int y)
internals::PointLatLng MapGraphicItem::FromLocalToLatLng(int x, int y)
{
if(MapRenderTransform!=-1)
{

View File

@ -17,7 +17,7 @@ class MapGraphicItem:public QObject,public QGraphicsItem
friend class mapcontrol::OPMapWidget;
Q_OBJECT
public:
MapGraphicItem(Core *core);
MapGraphicItem(internals::Core *core);
QRectF boundingRect() const;
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
QWidget *widget);
@ -36,22 +36,22 @@ protected:
void SetZoomStep(int const& value);
private:
Core *core;
internals::Core *core;
bool showTileGridLines;
qreal MapRenderTransform;
void DrawMap2D(QPainter *painter);
QFont MissingDataFont;
int maxZoom;
int minZoom;
RectLatLng selectedArea;
PointLatLng selectionStart;
PointLatLng selectionEnd;
internals::RectLatLng selectedArea;
internals::PointLatLng selectionStart;
internals::PointLatLng selectionEnd;
double zoomReal;
QRectF maprect;
bool isSelected;
bool isMouseOverMarker;
void SetIsMouseOverMarker(bool const& value){isMouseOverMarker = value;}
PointLatLng FromLocalToLatLng(int x, int y);
internals::PointLatLng FromLocalToLatLng(int x, int y);
qreal rotation;
QRectF boundingBox(QRectF const& rect, qreal const& angle);
@ -62,12 +62,12 @@ private:
QPen SelectionPen;
int MaxZoom()const{return maxZoom;}
int MinZoom()const{return minZoom;}
MouseWheelZoomType::Types GetMouseWheelZoomType(){return core->GetMouseWheelZoomType();}
QString GetMouseWheelZoomTypeStr(){return MouseWheelZoomType::TypesStrList().at((int)core->GetMouseWheelZoomType());}
internals::MouseWheelZoomType::Types GetMouseWheelZoomType(){return core->GetMouseWheelZoomType();}
QString GetMouseWheelZoomTypeStr(){return internals::MouseWheelZoomType::TypesStrList().at((int)core->GetMouseWheelZoomType());}
bool MapScaleInfoEnabled;
Qt::MouseButton DragButton;
void SetSelectedArea(RectLatLng const& value){selectedArea = value;this->update();}
RectLatLng BoundsOfMap;
void SetSelectedArea(internals::RectLatLng const& value){selectedArea = value;this->update();}
internals::RectLatLng BoundsOfMap;
void Offset(int const& x, int const& y);
bool CanDragMap()const{return core->CanDragMap;}
void SetCanDragMap(bool const& value){core->CanDragMap = value;}

View File

@ -1,16 +1,14 @@
TEMPLATE = lib
TARGET = OPMapWidget
TARGET = opmapwidget
DEFINES += OPMAPWIDGET_LIBRARY
include(../../../../openpilotgcslibrary.pri)
SOURCES += opmapcontrol.cpp \
mapgraphicitem.cpp \
#DESTDIR = ../build
SOURCES += mapgraphicitem.cpp \
opmapwidget.cpp
LIBS += -L../build -lcore -linternals -lcore
HEADERS += opmapcontrol.h \
mapgraphicitem.h \
HEADERS += mapgraphicitem.h \
opmapwidget.h
QT += opengl

View File

@ -1,366 +0,0 @@
#include "opmapcontrol.h"
#include <QImage>
namespace mapcontrol
{
OPMapControl::OPMapControl(QWidget *parent):QWidget(parent),MapRenderTransform(1), maxZoom(17),minZoom(2),zoomReal(0),isSelected(false)
{
EmptytileBrush = Qt::cyan;
MissingDataFont =QFont ("Times",10,QFont::Bold);
EmptyTileText = "We are sorry, but we don't\nhave imagery at this zoom\nlevel for this region.";
EmptyTileBorders = QPen(Qt::white);
ScalePen = QPen(Qt::blue);
SelectionPen = QPen(Qt::blue);
MapScaleInfoEnabled = true;
showTileGridLines=true;
DragButton = Qt::RightButton;
isMouseOverMarker=false;
core.SetCurrentRegion(Rectangle(-50, -50, this->width()+100, this->height()+100));
core.SetMapType(MapType::GoogleHybrid);
core.SetZoom(3);
connect(&core,SIGNAL(OnNeedInvalidation()),this,SLOT(Core_OnNeedInvalidation()));
}
void OPMapControl::showEvent(QShowEvent *event)
{
QWidget::showEvent(event);
core.StartSystem();
resize();
}
void OPMapControl::Core_OnNeedInvalidation()
{
this->repaint();
}
void OPMapControl::paintEvent(QPaintEvent* evnt)
{
QWidget::paintEvent(evnt);
QPainter painter(this);
// painter.setBrush(palette().foreground().color());
// painter.fillRect(this->rect(),painter.background());
if(MapRenderTransform!=1)
{
QTransform transform;
transform.scale(MapRenderTransform,MapRenderTransform);
painter.setWorldTransform(transform);
{
DrawMap2D(painter);
}
painter.resetTransform();
}
else
{
DrawMap2D(painter);
}
// painter.drawText(10,10,"TESTE");
}
void OPMapControl::DrawMap2D(QPainter &painter)
{
// qDebug()<<core.Matrix.count();
// painter.drawText(10,10,"TESTE");
for(int i = -core.GetsizeOfMapArea().Width(); i <= core.GetsizeOfMapArea().Width(); i++)
{
for(int j = -core.GetsizeOfMapArea().Height(); j <= core.GetsizeOfMapArea().Height(); j++)
{
core.SettilePoint (core.GetcenterTileXYLocation());
core.SettilePoint(Point(core.GettilePoint().X()+ i,core.GettilePoint().Y()+j));
{
Tile* t = core.Matrix.TileAt(core.GettilePoint());
//qDebug()<<"OPMapControl::DrawMap2D tile:"<<t->GetPos().ToString()<<" as "<<t->Overlays.count()<<" overlays";
//Tile t = Core.Matrix[tileToDraw];
if(t!=0)
{
//qDebug()<< "opmapcontrol:draw2d TileHasValue:"<<t->GetPos().ToString();
core.tileRect.SetX(core.GettilePoint().X()*core.tileRect.Width());
core.tileRect.SetY(core.GettilePoint().Y()*core.tileRect.Height());
core.tileRect.Offset(core.GetrenderOffset());
if(core.GetCurrentRegion().IntersectsWith(core.tileRect))
{
bool found = false;
// render tile
//lock(t.Overlays)
{
foreach(QByteArray img,t->Overlays)
{
if(img.count()!=0)
{
if(!found)
found = true;
{
painter.drawImage(QRectF(core.tileRect.X(), core.tileRect.Y(), core.tileRect.Width(), core.tileRect.Height()),QImage::fromData(img));
}
}
}
}
if(showTileGridLines)
{
painter.setPen(EmptyTileBorders);
painter.drawRect(core.tileRect.X(), core.tileRect.Y(), core.tileRect.Width(), core.tileRect.Height());
{
painter.setFont(MissingDataFont);
painter.setPen(Qt::red);
painter.drawText(QRectF(core.tileRect.X(), core.tileRect.Y(), core.tileRect.Width(), core.tileRect.Height()),Qt::AlignCenter,(core.GettilePoint() == core.GetcenterTileXYLocation()? "CENTER: " :"TILE: ")+core.GettilePoint().ToString());
//qDebug()<<"ShowTileGridLine:"<<core.GettilePoint().ToString()<<"=="<<core.GetcenterTileXYLocation().ToString();
}
}
// add text if tile is missing
if(!found)
{
painter.fillRect(QRectF(core.tileRect.X(), core.tileRect.Y(), core.tileRect.Width(), core.tileRect.Height()),EmptytileBrush);
painter.setFont(MissingDataFont);
painter.drawText(QRectF(core.tileRect.X(), core.tileRect.Y(), core.tileRect.Width(), core.tileRect.Height()),EmptyTileText);
painter.setPen(EmptyTileBorders);
painter.drawRect(core.tileRect.X(), core.tileRect.Y(), core.tileRect.Width(), core.tileRect.Height());
// raise error
}
}
}
}
}
}
}
void OPMapControl::mousePressEvent ( QMouseEvent* evnt )
{
if(!IsMouseOverMarker())
{
if(evnt->button() == DragButton && core.CanDragMap)
{
core.mouseDown.SetX(evnt->x());
core.mouseDown.SetY(evnt->y());
this->setCursor(Qt::SizeAllCursor);
core.BeginDrag(core.mouseDown);
this->repaint();
}
else if(!isSelected)
{
isSelected = true;
SetSelectedArea (RectLatLng::Empty);
selectionEnd = PointLatLng::Empty;
selectionStart = FromLocalToLatLng(evnt->x(), evnt->y());
}
}
QWidget::mousePressEvent(evnt);
}
PointLatLng OPMapControl::FromLocalToLatLng(int x, int y)
{
if(MapRenderTransform!=-1)
{
x = (int) (x * MapRenderTransform);
y = (int) (y * MapRenderTransform);
}
return core.FromLocalToLatLng(x, y);
}
void OPMapControl::mouseReleaseEvent ( QMouseEvent* evnt )
{
QWidget::mouseReleaseEvent(evnt);
if(isSelected)
{
isSelected = false;
}
if(core.IsDragging())
{
core.EndDrag();
this->setCursor(Qt::ArrowCursor);
if(!BoundsOfMap.IsEmpty() && !BoundsOfMap.Contains(core.CurrentPosition()))
{
if(!core.LastLocationInBounds.IsEmpty())
{
core.SetCurrentPosition(core.LastLocationInBounds);
}
}
}
else
{
if(!selectionEnd.IsEmpty() && !selectionStart.IsEmpty())
{
if(!selectedArea.IsEmpty() && evnt->modifiers() == Qt::ShiftModifier)
{
// SetZoomToFitRect(SelectedArea());TODO
}
}
}
}
void OPMapControl::mouseMoveEvent ( QMouseEvent* evnt )
{
if(core.IsDragging())
{
core.mouseCurrent.SetX(evnt->x());
core.mouseCurrent.SetY(evnt->y());
{
core.Drag(core.mouseCurrent);
}
}
}
void OPMapControl::resizeEvent ( QResizeEvent * event )
{
QWidget::resizeEvent(event);
resize();
}
void OPMapControl::resize()
{
core.OnMapSizeChanged(this->width(),this->height());
core.SetCurrentRegion(Rectangle(-50, -50, this->width()+100, this->height()+100));
if(isVisible())
{
core.GoToCurrentPosition();
}
}
void OPMapControl::wheelEvent(QWheelEvent *event)
{
QWidget::wheelEvent(event);
if(!IsMouseOverMarker() && !IsDragging())
{
if(core.GetmouseLastZoom().X() != event->pos().x() && core.mouseLastZoom.Y() != event->pos().y())
{
if(GetMouseWheelZoomType() == MouseWheelZoomType::MousePositionAndCenter)
{
core.SetCurrentPosition(FromLocalToLatLng(event->pos().x(), event->pos().y()));
}
else if(GetMouseWheelZoomType() == MouseWheelZoomType::ViewCenter)
{
core.SetCurrentPosition(FromLocalToLatLng((int) width()/2, (int) height()/2));
}
else if(GetMouseWheelZoomType() == MouseWheelZoomType::MousePositionWithoutCenter)
{
core.SetCurrentPosition(FromLocalToLatLng(event->pos().x(), event->pos().y()));
}
core.mouseLastZoom.SetX((event->pos().x()));
core.mouseLastZoom.SetY((event->pos().y()));
}
// set mouse position to map center
if(GetMouseWheelZoomType() != MouseWheelZoomType::MousePositionWithoutCenter)
{
{
// System.Drawing.Point p = PointToScreen(new System.Drawing.Point(Width/2, Height/2));
// Stuff.SetCursorPos((int) p.X, (int) p.Y);
}
}
core.MouseWheelZooming = true;
if(event->delta() > 0)
{
SetZoom(Zoom()+1);
}
else if(event->delta() < 0)
{
SetZoom(Zoom()-1);
}
core.MouseWheelZooming = false;
}
}
double OPMapControl::Zoom()
{
return zoomReal;
}
void OPMapControl::SetZoom(double const& value)
{
if(zoomReal != value)
{
if(value > MaxZoom())
{
zoomReal = MaxZoom();
}
else
if(value < MinZoom())
{
zoomReal = MinZoom();
}
else
{
zoomReal = value;
}
float remainder = (float)std::fmod((float) value, (float) 1);
if(remainder != 0)
{
float scaleValue = remainder + 1;
{
MapRenderTransform = scaleValue;
}
SetZoomStep((qint32)(value - remainder));
this->repaint();
}
else
{
MapRenderTransform = 1;
SetZoomStep ((qint32)(value));
zoomReal = ZoomStep();
this->repaint();
}
}
}
int OPMapControl::ZoomStep()const
{
return core.Zoom();
}
void OPMapControl::SetZoomStep(int const& value)
{
if(value > MaxZoom())
{
core.SetZoom(MaxZoom());
}
else if(value < MinZoom())
{
core.SetZoom(MinZoom());
}
else
{
core.SetZoom(value);
}
}
void OPMapControl::Offset(int const& x, int const& y)
{
core.DragOffset(Point(x, y));
}
void OPMapControl::closeEvent(QCloseEvent *event)
{
core.OnMapClose();
event->accept();
}
}

View File

@ -1,94 +0,0 @@
#ifndef OPMAPCONTROL_H
#define OPMAPCONTROL_H
#include "../internals/core.h"
#include <QtGui>
#include <QTransform>
#include <QWidget>
#include <QBrush>
#include <QFont>
namespace mapcontrol
{
using namespace core;
//using namespace internals;
class internals::Core;
class OPMapControl:public QWidget
{
Q_OBJECT
// Q_PROPERTY(int MaxZoom READ MaxZoom WRITE SetMaxZoom)
// Q_PROPERTY(int MinZoom READ MinZoom WRITE SetMinZoom)
// Q_PROPERTY(internals::MouseWheelZoomType::Types MouseWheelZoom READ GetMouseWheelZoomType WRITE SetMouseWheelZoomType)
// Q_PROPERTY(QString MouseWheelZoomStr READ GetMouseWheelZoomTypeStr WRITE SetMouseWheelZoomTypeByStr)
// Q_PROPERTY(bool ShowTileGridLines READ ShowTileGridLines WRITE SetShowTileGridLines)
// Q_PROPERTY(double Zoom READ Zoom WRITE SetZoom)
public:
OPMapControl(QWidget *parent=0);
protected:
void paintEvent ( QPaintEvent* evnt );
void mousePressEvent ( QMouseEvent* evnt );
void mouseReleaseEvent ( QMouseEvent* evnt );
void mouseMoveEvent ( QMouseEvent* evnt );
void resizeEvent ( QResizeEvent * event );
void showEvent ( QShowEvent * event );
void closeEvent ( QCloseEvent * event );
bool IsDragging()const{return core.IsDragging();}
bool IsMouseOverMarker()const{return isMouseOverMarker;}
void wheelEvent ( QWheelEvent * event );
int ZoomStep()const;
void SetZoomStep(int const& value);
private:
QBrush EmptytileBrush;
QString EmptyTileText;
QPen EmptyTileBorders;
QPen ScalePen;
QPen SelectionPen;
// bool ShowTileGridLines()const {return showTileGridLines;}
// void SetShowTileGridLines(bool const& value){showTileGridLines=value;this->repaint();}
int MaxZoom()const{return maxZoom;}
// void SetMaxZoom(int const& value){maxZoom = value;}
int MinZoom()const{return minZoom;}
// void SetMinZoom(int const& value){minZoom = value;}
MouseWheelZoomType::Types GetMouseWheelZoomType(){return core.GetMouseWheelZoomType();}
// void SetMouseWheelZoomType(MouseWheelZoomType::Types const& value){core.SetMouseWheelZoomType(value);}
// void SetMouseWheelZoomTypeByStr(const QString &value){core.SetMouseWheelZoomType(MouseWheelZoomType::TypeByStr(value));}
QString GetMouseWheelZoomTypeStr(){return MouseWheelZoomType::TypesStrList().at((int)core.GetMouseWheelZoomType());}
bool MapScaleInfoEnabled;
Qt::MouseButton DragButton;
// RectLatLng SelectedArea()const{return selectedArea;}
void SetSelectedArea(RectLatLng const& value){selectedArea = value;this->update();}
RectLatLng BoundsOfMap;
void Offset(int const& x, int const& y);
bool CanDragMap()const{return core.CanDragMap;}
void SetCanDragMap(bool const& value){core.CanDragMap = value;}
// PointLatLng CurrentPosition()const{return core.CurrentPosition();}
// void SetCurrentPosition(PointLatLng const& value){core.SetCurrentPosition(value);}
double Zoom();
void SetZoom(double const& value);
bool showTileGridLines;
Core core;
qreal MapRenderTransform;
void DrawMap2D(QPainter &painter);
QFont MissingDataFont;
void resize();
int maxZoom;
int minZoom;
RectLatLng selectedArea;
PointLatLng selectionStart;
PointLatLng selectionEnd;
double zoomReal;
bool isSelected;
bool isMouseOverMarker;
void SetIsMouseOverMarker(bool const& value){isMouseOverMarker = value;}
PointLatLng FromLocalToLatLng(int x, int y);
private slots:
void Core_OnNeedInvalidation();
};
}
#endif // OPMAPCONTROL_H

View File

@ -7,7 +7,7 @@ namespace mapcontrol
{
setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
core=new Core;
core=new internals::Core;
map=new MapGraphicItem(core);
//text.setZValue(20);
//QGraphicsTextItem *t=new QGraphicsTextItem(map);

View File

@ -44,16 +44,16 @@ namespace mapcontrol
void SetMaxZoom(int const& value){map->maxZoom = value;}
int MinZoom()const{return map->minZoom;}
void SetMinZoom(int const& value){map->minZoom = value;}
MouseWheelZoomType::Types GetMouseWheelZoomType(){return map->core->GetMouseWheelZoomType();}
void SetMouseWheelZoomType(MouseWheelZoomType::Types const& value){map->core->SetMouseWheelZoomType(value);}
void SetMouseWheelZoomTypeByStr(const QString &value){map->core->SetMouseWheelZoomType(MouseWheelZoomType::TypeByStr(value));}
internals::MouseWheelZoomType::Types GetMouseWheelZoomType(){return map->core->GetMouseWheelZoomType();}
void SetMouseWheelZoomType(internals::MouseWheelZoomType::Types const& value){map->core->SetMouseWheelZoomType(value);}
void SetMouseWheelZoomTypeByStr(const QString &value){map->core->SetMouseWheelZoomType(internals::MouseWheelZoomType::TypeByStr(value));}
QString GetMouseWheelZoomTypeStr(){return map->GetMouseWheelZoomTypeStr();}
RectLatLng SelectedArea()const{return map->selectedArea;}
void SetSelectedArea(RectLatLng const& value){ map->selectedArea = value;this->update();}
internals::RectLatLng SelectedArea()const{return map->selectedArea;}
void SetSelectedArea(internals::RectLatLng const& value){ map->selectedArea = value;this->update();}
bool CanDragMap()const{return map->CanDragMap();}
void SetCanDragMap(bool const& value){map->SetCanDragMap(value);}
PointLatLng CurrentPosition()const{return map->core->CurrentPosition();}
void SetCurrentPosition(PointLatLng const& value){map->core->SetCurrentPosition(value);}
internals::PointLatLng CurrentPosition()const{return map->core->CurrentPosition();}
void SetCurrentPosition(internals::PointLatLng const& value){map->core->SetCurrentPosition(value);}
double Zoom(){return map->Zoom();}
void SetZoom(double const& value){map->SetZoom(value);}
qreal Rotate(){return map->rotation;}
@ -67,7 +67,7 @@ namespace mapcontrol
bool isStarted(){return map->core->isStarted();}
void X(){map->core->GoToCurrentPosition();}
private:
Core *core;
internals::Core *core;
MapGraphicItem *map;
QGraphicsScene mscene;
bool useOpenGL;

View File

@ -3,3 +3,4 @@ CONFIG += ordered
SUBDIRS = core
SUBDIRS += internals
SUBDIRS += mapwidget
#SUBDIRS +=finaltest