mirror of
https://github.com/tumic0/GPXSee.git
synced 2024-11-30 22:51:16 +01:00
Code cleanup
This commit is contained in:
parent
4a0b7ec83e
commit
1eaaf719fd
@ -41,11 +41,9 @@ static double distance(const Coordinates &c1, const Coordinates &c2)
|
||||
return hypot(c1.lon() - c2.lon(), c1.lat() - c2.lat());
|
||||
}
|
||||
|
||||
static bool isClosed(const Polygon &poly)
|
||||
static bool isClosed(const QVector<Coordinates> &poly)
|
||||
{
|
||||
if (poly.isEmpty() || poly.first().isEmpty())
|
||||
return false;
|
||||
return (distance(poly.first().first(), poly.first().last()) < 0.000000001);
|
||||
return (distance(poly.first(), poly.last()) < 0.000000001);
|
||||
}
|
||||
|
||||
static bool readSingleDelta(SubFile &subfile, const Coordinates &c,
|
||||
@ -622,20 +620,20 @@ bool MapData::readPaths(const VectorTile *tile, int zoom, QList<Path> *list)
|
||||
return false;
|
||||
}
|
||||
if (flags & 0x08) {
|
||||
if (!subfile.readVUInt32(blocks))
|
||||
if (!subfile.readVUInt32(blocks) || !blocks)
|
||||
return false;
|
||||
} else
|
||||
blocks = 1;
|
||||
|
||||
Q_ASSERT(blocks);
|
||||
for (unsigned j = 0; j < blocks; j++) {
|
||||
if (!readPolygonPath(subfile, tile->pos, flags & 0x04, p.poly))
|
||||
return false;
|
||||
}
|
||||
p.closed = isClosed(p.poly);
|
||||
const QVector<Coordinates> &outline = p.poly.first();
|
||||
p.closed = isClosed(outline);
|
||||
if (flags & 0x10)
|
||||
p.labelPos = Coordinates(p.poly.first().first().lon() + MD(lon),
|
||||
p.poly.first().first().lat() + MD(lat));
|
||||
p.labelPos = Coordinates(outline.first().lon() + MD(lon),
|
||||
outline.first().lat() + MD(lat));
|
||||
|
||||
list->append(p);
|
||||
}
|
||||
|
@ -62,13 +62,12 @@ private:
|
||||
class RenderInstruction
|
||||
{
|
||||
public:
|
||||
RenderInstruction() : _pathRender(0), _circleRender(0), _path(0),
|
||||
_point(0) {}
|
||||
RenderInstruction() : _render(0), _path(0), _point(0) {}
|
||||
RenderInstruction(const Style::PathRender *render, PainterPath *path)
|
||||
: _pathRender(render), _circleRender(0), _path(path), _point(0) {}
|
||||
: _render(render), _path(path), _point(0) {}
|
||||
RenderInstruction(const Style::CircleRender *render,
|
||||
const MapData::Point *point) : _pathRender(0), _circleRender(render),
|
||||
_path(0), _point(point) {}
|
||||
const MapData::Point *point) : _render(render), _path(0),
|
||||
_point(point) {}
|
||||
|
||||
bool operator<(const RenderInstruction &other) const
|
||||
{
|
||||
@ -78,8 +77,10 @@ private:
|
||||
return (layer() < other.layer());
|
||||
}
|
||||
|
||||
const Style::PathRender *pathRender() const {return _pathRender;}
|
||||
const Style::CircleRender *circleRender() const {return _circleRender;}
|
||||
const Style::PathRender *pathRender() const
|
||||
{return static_cast<const Style::PathRender*>(_render);}
|
||||
const Style::CircleRender *circleRender() const
|
||||
{return static_cast<const Style::CircleRender*>(_render);}
|
||||
PainterPath *path() const {return _path;}
|
||||
const MapData::Point *point() const {return _point;}
|
||||
|
||||
@ -87,11 +88,12 @@ private:
|
||||
int layer() const {return _path ? _path->path->layer : _point->layer;}
|
||||
int zOrder() const
|
||||
{
|
||||
return _pathRender ? _pathRender->zOrder() : _circleRender->zOrder();
|
||||
return _path
|
||||
? static_cast<const Style::PathRender*>(_render)->zOrder()
|
||||
: static_cast<const Style::CircleRender*>(_render)->zOrder();
|
||||
}
|
||||
|
||||
const Style::PathRender *_pathRender;
|
||||
const Style::CircleRender *_circleRender;
|
||||
const Style::Render *_render;
|
||||
PainterPath *_path;
|
||||
const MapData::Point *_point;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user