mirror of
https://github.com/tumic0/GPXSee.git
synced 2025-02-26 04:00:49 +01:00
39 lines
947 B
C++
39 lines
947 B
C++
#ifndef DATUM_H
|
|
#define DATUM_H
|
|
|
|
#include <QMap>
|
|
#include "ellipsoid.h"
|
|
|
|
class Datum
|
|
{
|
|
public:
|
|
Datum() : _ellipsoid(Ellipsoid()), _dx(0), _dy(0), _dz(0) {}
|
|
Datum(const Ellipsoid &ellipsoid, double dx, double dy, double dz)
|
|
: _ellipsoid(ellipsoid), _dx(dx), _dy(dy), _dz(dz) {}
|
|
|
|
const Ellipsoid &ellipsoid() const {return _ellipsoid;}
|
|
double dx() const {return _dx;}
|
|
double dy() const {return _dy;}
|
|
double dz() const {return _dz;}
|
|
|
|
bool isNull() const {return _ellipsoid.isNull();}
|
|
bool isWGS84() const
|
|
{return _ellipsoid.isWGS84() && _dx == 0 && _dy == 0 && _dz == 0;}
|
|
|
|
static bool loadList(const QString &path);
|
|
static const QString &errorString() {return _errorString;}
|
|
static int errorLine() {return _errorLine;}
|
|
|
|
static Datum datum(const QString &name);
|
|
|
|
private:
|
|
Ellipsoid _ellipsoid;
|
|
double _dx, _dy, _dz;
|
|
|
|
static QMap<QString, Datum> _datums;
|
|
static QString _errorString;
|
|
static int _errorLine;
|
|
};
|
|
|
|
#endif // DATUM_H
|