mirror of
https://github.com/tumic0/GPXSee.git
synced 2025-06-27 03:29:16 +02:00
Added the "Load map dir" feature
This commit is contained in:
@ -8,6 +8,19 @@
|
||||
class Area : public QList<Polygon>
|
||||
{
|
||||
public:
|
||||
Area() {}
|
||||
Area(const RectC &rect)
|
||||
{
|
||||
Polygon polygon;
|
||||
QVector<Coordinates> v(4);
|
||||
v[0] = Coordinates(rect.left(), rect.top());
|
||||
v[1] = Coordinates(rect.right(), rect.top());
|
||||
v[2] = Coordinates(rect.right(), rect.bottom());
|
||||
v[3] = Coordinates(rect.left(), rect.bottom());
|
||||
polygon.append(v);
|
||||
append(polygon);
|
||||
}
|
||||
|
||||
const QString& name() const {return _name;}
|
||||
const QString& description() const {return _desc;}
|
||||
void setName(const QString &name) {_name = name;}
|
||||
|
@ -20,6 +20,7 @@
|
||||
#include "cupparser.h"
|
||||
#include "gpiparser.h"
|
||||
#include "smlparser.h"
|
||||
#include "map/map.h"
|
||||
#include "data.h"
|
||||
|
||||
|
||||
|
@ -10,7 +10,6 @@
|
||||
#include "route.h"
|
||||
#include "parser.h"
|
||||
|
||||
|
||||
class Data
|
||||
{
|
||||
public:
|
||||
|
@ -485,15 +485,8 @@ static quint32 readCamera(QDataStream &stream, QVector<Waypoint> &waypoints,
|
||||
|
||||
waypoints.append(Coordinates(toWGS24(lon), toWGS24(lat)));
|
||||
|
||||
Area area;
|
||||
Polygon polygon;
|
||||
QVector<Coordinates> v(4);
|
||||
v[0] = Coordinates(toWGS24(left), toWGS24(top));
|
||||
v[1] = Coordinates(toWGS24(right), toWGS24(top));
|
||||
v[2] = Coordinates(toWGS24(right), toWGS24(bottom));
|
||||
v[3] = Coordinates(toWGS24(left), toWGS24(bottom));
|
||||
polygon.append(v);
|
||||
area.append(polygon);
|
||||
Area area(RectC(Coordinates(toWGS24(left), toWGS24(top)),
|
||||
Coordinates(toWGS24(right), toWGS24(bottom))));
|
||||
|
||||
switch (type) {
|
||||
case 8:
|
||||
|
@ -147,20 +147,19 @@ QList<Waypoint> POI::points(const Waypoint &point) const
|
||||
return ret;
|
||||
}
|
||||
|
||||
QList<Waypoint> POI::points(const Area &area) const
|
||||
QList<Waypoint> POI::points(const RectC &rect) const
|
||||
{
|
||||
QList<Waypoint> ret;
|
||||
qreal min[2], max[2];
|
||||
QSet<int> set;
|
||||
QSet<int>::const_iterator it;
|
||||
|
||||
RectC br(area.boundingRect());
|
||||
double offset = rad2deg(_radius / WGS84_RADIUS);
|
||||
|
||||
min[0] = br.topLeft().lon() - offset;
|
||||
min[1] = br.bottomRight().lat() - offset;
|
||||
max[0] = br.bottomRight().lon() + offset;
|
||||
max[1] = br.topLeft().lat() + offset;
|
||||
min[0] = rect.topLeft().lon() - offset;
|
||||
min[1] = rect.bottomRight().lat() - offset;
|
||||
max[0] = rect.bottomRight().lon() + offset;
|
||||
max[1] = rect.topLeft().lat() + offset;
|
||||
|
||||
_tree.Search(min, max, cb, &set);
|
||||
|
||||
|
@ -9,7 +9,6 @@
|
||||
#include "waypoint.h"
|
||||
|
||||
class Path;
|
||||
class Area;
|
||||
class RectC;
|
||||
|
||||
class POI : public QObject
|
||||
@ -29,7 +28,7 @@ public:
|
||||
|
||||
QList<Waypoint> points(const Path &path) const;
|
||||
QList<Waypoint> points(const Waypoint &point) const;
|
||||
QList<Waypoint> points(const Area &area) const;
|
||||
QList<Waypoint> points(const RectC &rect) const;
|
||||
|
||||
const QStringList &files() const {return _files;}
|
||||
void enableFile(const QString &fileName, bool enable);
|
||||
|
Reference in New Issue
Block a user