Updraft
1.0
Open source glider flight visualisation tool.
|
00001 #ifndef UPDRAFT_SRC_LIBRARIES_UTIL_LOCATION_H_ 00002 #define UPDRAFT_SRC_LIBRARIES_UTIL_LOCATION_H_ 00003 00004 #include <qmath.h> 00005 00006 #include "util.h" 00007 00008 namespace Updraft { 00009 namespace Util { 00010 00013 class UTIL_EXPORT Location { 00014 public: 00015 qreal lat; 00016 qreal lon; 00017 qreal alt; 00018 00019 Location(); 00020 00022 qreal lat_radians() const { 00023 return M_PI * lat / 180.0; 00024 } 00025 00027 qreal lon_radians() const { 00028 return M_PI * lon / 180.0; 00029 } 00030 00032 void latFromRadians(qreal radians); 00033 00035 void lonFromRadians(qreal radians); 00036 00042 void latFromDMS(qreal d, qreal m, qreal s, char sign); 00043 00049 void lonFromDMS(qreal d, qreal m, qreal s, char sign); 00050 00056 void latToDMS(int *d, int *m, qreal *s, char *sign) const; 00057 00063 void lonToDMS(int *d, int *m, qreal *s, char *sign) const; 00064 00067 QString latToString() const; 00068 00071 QString lonToString() const; 00072 00073 private: 00074 static QString dmsToString(int d, int m, qreal s, char sign); 00075 }; 00076 00077 } // End namespace Util 00078 } // End namespace Updraft 00079 00080 #endif // UPDRAFT_SRC_LIBRARIES_UTIL_LOCATION_H_