mirror of
https://github.com/tumic0/GPXSee.git
synced 2025-04-20 12:19:11 +02:00
Compare commits
No commits in common. "af688314fb94f1298b470fb4aaf5b34e38547747" and "8ae8c3b0a3097684c983efda326ebcabe518872a" have entirely different histories.
af688314fb
...
8ae8c3b0a3
@ -1,7 +1,6 @@
|
||||
#ifndef ENC_ATTRIBUTES_H
|
||||
#define ENC_ATTRIBUTES_H
|
||||
|
||||
#define CATACH 8
|
||||
#define CATHAF 30
|
||||
#define CATLMK 35
|
||||
#define CATMOR 40
|
||||
@ -10,7 +9,6 @@
|
||||
#define DRVAL1 87
|
||||
#define ELEVAT 90
|
||||
#define OBJNAM 116
|
||||
#define RESTRN 131
|
||||
#define VALDCO 174
|
||||
|
||||
#endif // ENC_ATTRIBUTES_H
|
||||
|
@ -15,45 +15,6 @@ using namespace ENC;
|
||||
#define PRIM_L 2
|
||||
#define PRIM_A 3
|
||||
|
||||
static QMap<uint,uint> orderMapInit()
|
||||
{
|
||||
QMap<uint,uint> map;
|
||||
|
||||
map.insert(BUAARE, 1);
|
||||
map.insert(BCNISD, 2);
|
||||
map.insert(BCNLAT, 3);
|
||||
map.insert(BCNSAW, 4);
|
||||
map.insert(BCNSPP, 5);
|
||||
map.insert(BOYCAR, 6);
|
||||
map.insert(BOYINB, 7);
|
||||
map.insert(BOYISD, 8);
|
||||
map.insert(BOYLAT, 9);
|
||||
map.insert(BOYSAW, 10);
|
||||
map.insert(BOYSPP, 11);
|
||||
map.insert(MORFAC, 12);
|
||||
map.insert(OFSPLF, 13);
|
||||
map.insert(LIGHTS, 14);
|
||||
map.insert(OBSTRN, 15);
|
||||
map.insert(WRECKS, 16);
|
||||
map.insert(UWTROC, 17);
|
||||
map.insert(HRBFAC, 18);
|
||||
map.insert(PILPNT, 19);
|
||||
map.insert(ACHBRT, 20);
|
||||
map.insert(LNDELV, 21);
|
||||
map.insert(LNDMRK, 22);
|
||||
map.insert(SOUNDG, 0xFFFFFFFF);
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
static QMap<uint,uint> orderMap = orderMapInit();
|
||||
|
||||
static uint order(uint type)
|
||||
{
|
||||
QMap<uint, uint>::const_iterator it = orderMap.find(type);
|
||||
return (it == orderMap.constEnd()) ? type + 512 : it.value();
|
||||
}
|
||||
|
||||
static void warning(const ISO8211::Field &FRID, uint PRIM)
|
||||
{
|
||||
uint RCID = 0xFFFFFFFF;
|
||||
@ -171,13 +132,6 @@ static Coordinates point(const ISO8211::Record &r, uint COMF)
|
||||
return coordinates(x, y, COMF);
|
||||
}
|
||||
|
||||
MapData::Point::Point(uint type, const Coordinates &c, const QString &label)
|
||||
: _type(type), _pos(c), _label(label)
|
||||
{
|
||||
uint hash = (uint)qHash(QPair<double,double>(c.lon(), c.lat()));
|
||||
_id = ((quint64)order(type>>16))<<32 | hash;
|
||||
}
|
||||
|
||||
QVector<MapData::Sounding> MapData::soundings(const ISO8211::Record &r,
|
||||
uint COMF, uint SOMF)
|
||||
{
|
||||
@ -465,13 +419,8 @@ MapData::Attr MapData::polyAttr(const ISO8211::Record &r, uint OBJL)
|
||||
|
||||
if (OBJL == DEPARE && key == DRVAL1)
|
||||
subtype = depthLevel(av.at(1).toString());
|
||||
else if ((OBJL == RESARE && key == CATREA)
|
||||
|| (OBJL == ACHARE && key == CATACH))
|
||||
else if (OBJL == RESARE && key == CATREA)
|
||||
subtype = av.at(1).toString().toUInt();
|
||||
else if (OBJL == RESARE && key == RESTRN) {
|
||||
if (av.at(1).toString().toUInt() == 1)
|
||||
subtype = 2;
|
||||
}
|
||||
}
|
||||
|
||||
return Attr(subtype, label);
|
||||
|
@ -52,7 +52,12 @@ public:
|
||||
|
||||
class Point {
|
||||
public:
|
||||
Point(uint type, const Coordinates &c, const QString &label);
|
||||
Point(uint type, const Coordinates &c, const QString &label)
|
||||
: _type(type), _pos(c), _label(label)
|
||||
{
|
||||
uint hash = (uint)qHash(QPair<double,double>(c.lon(), c.lat()));
|
||||
_id = ((quint64)type)<<32 | hash;
|
||||
}
|
||||
|
||||
const Coordinates &pos() const {return _pos;}
|
||||
uint type() const {return _type;}
|
||||
|
@ -88,15 +88,9 @@ void RasterTile::drawPolygons(QPainter *painter)
|
||||
continue;
|
||||
const Style::Polygon &style = s.polygon(ECDIS(poly->type()));
|
||||
|
||||
if (!style.img().isNull()) {
|
||||
for (int i = 0; i < poly->path().size(); i++)
|
||||
BitmapLine::draw(painter, polyline(poly->path().at(i)),
|
||||
style.img());
|
||||
} else {
|
||||
painter->setPen(style.pen());
|
||||
painter->setBrush(style.brush());
|
||||
painter->drawPath(painterPath(poly->path()));
|
||||
}
|
||||
painter->setPen(style.pen());
|
||||
painter->setBrush(style.brush());
|
||||
painter->drawPath(painterPath(poly->path()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -38,6 +38,8 @@ void Style::defaultPolygonStyle()
|
||||
_polygons[TYPE(PONTON)] = Polygon(QBrush("#333333"));
|
||||
_polygons[TYPE(SLCONS)] = Polygon(Qt::NoBrush, QPen(QColor("#333333"), 1.5,
|
||||
Qt::DashLine));
|
||||
_polygons[TYPE(ACHARE)] = Polygon(Qt::NoBrush, QPen(QColor("#e728e7"), 1,
|
||||
Qt::DashDotLine));
|
||||
_polygons[TYPE(LAKARE)] = Polygon(QBrush("#9fc4e1"),
|
||||
QPen(QColor("#000000"), 1));
|
||||
_polygons[TYPE(CANALS)] = Polygon(QBrush("#9fc4e1"),
|
||||
@ -46,15 +48,12 @@ void Style::defaultPolygonStyle()
|
||||
_polygons[TYPE(DYKCON)] = Polygon(QBrush(QColor("#9fc4e1"),
|
||||
Qt::Dense4Pattern), QPen(QColor("#000000"), 1));
|
||||
_polygons[TYPE(AIRARE)] = Polygon(QBrush("#333333"));
|
||||
_polygons[SUBTYPE(RESARE, 9)] = Polygon(QBrush(QColor("#ff0000"),
|
||||
Qt::BDiagPattern), QPen(QColor("#ff0000"), 1));
|
||||
_polygons[TYPE(TSEZNE)] = Polygon(QBrush("#80fcb4fc"));
|
||||
_polygons[TYPE(DRGARE)] = Polygon(QBrush(QColor("#a0a0ff"),
|
||||
Qt::Dense4Pattern));
|
||||
_polygons[TYPE(UNSARE)] = Polygon(QBrush("#999999"));
|
||||
_polygons[SUBTYPE(RESARE, 9)] = Polygon(QBrush(QColor("#ff0000"),
|
||||
Qt::BDiagPattern));
|
||||
|
||||
_polygons[SUBTYPE(RESARE, 2)] = Polygon(QImage(":/marine/noanchor-line.png"));
|
||||
_polygons[SUBTYPE(ACHARE, 1)] = Polygon(QImage(":/marine/anchor-line.png"));
|
||||
|
||||
_drawOrder
|
||||
<< TYPE(M_COVR) << TYPE(LNDARE) << SUBTYPE(DEPARE, 0)
|
||||
@ -64,7 +63,7 @@ void Style::defaultPolygonStyle()
|
||||
<< TYPE(RIVERS) << TYPE(DRGARE) << TYPE(FAIRWY) << TYPE(BUAARE)
|
||||
<< TYPE(BUISGL) << TYPE(AIRARE) << TYPE(BRIDGE) << TYPE(SLCONS)
|
||||
<< TYPE(PONTON) << TYPE(DMPGRD) << TYPE(TSEZNE) << TYPE(OBSTRN)
|
||||
<< SUBTYPE(ACHARE, 1) << SUBTYPE(RESARE, 9) << SUBTYPE(RESARE, 2);
|
||||
<< TYPE(ACHARE) << SUBTYPE(RESARE, 9) << TYPE(154);
|
||||
}
|
||||
|
||||
void Style::defaultLineStyle()
|
||||
|
@ -29,18 +29,13 @@ public:
|
||||
{
|
||||
_pen = (pen == Qt::NoPen) ? QPen(_brush, 0) : pen;
|
||||
}
|
||||
Polygon(const QImage &img)
|
||||
: _brush(Qt::NoBrush), _pen(Qt::NoPen), _img(img.convertToFormat(
|
||||
QImage::Format_ARGB32_Premultiplied)) {}
|
||||
|
||||
const QPen &pen() const {return _pen;}
|
||||
const QBrush &brush() const {return _brush;}
|
||||
const QImage &img() const {return _img;}
|
||||
|
||||
private:
|
||||
QBrush _brush;
|
||||
QPen _pen;
|
||||
QImage _img;
|
||||
};
|
||||
|
||||
class Line {
|
||||
|
Loading…
x
Reference in New Issue
Block a user