igc.h
changeset 23 8396f7857013
parent 14 3d8176df0461
child 25 1549cae72d31
equal deleted inserted replaced
22:fa3d7ce5d0a7 23:8396f7857013
     3 
     3 
     4 #include "pch.h"
     4 #include "pch.h"
     5 
     5 
     6 class Fix {
     6 class Fix {
     7   public: 
     7   public: 
       
     8     enum Source { baro, gps };
       
     9 
       
    10     Fix() { }
     8     Fix(const QString&);
    11     Fix(const QString&);
       
    12 
       
    13     int altitude(Source s = gps) const { return alt_[s]; }
       
    14     QTime time() const { return time_; }
       
    15     bool is3d() const { return is3d_; }
       
    16     QPair<QTime, int> altitudeFix(Source s) const { return qMakePair(time_, alt_[s]); }
       
    17 
       
    18     QString longitude() const { return gps_.lon; }
       
    19     QString latitude() const { return gps_.lat; };
       
    20 
     9   private:
    21   private:
    10     QTime time_;
    22     QTime time_;
    11     bool fix3d_;
    23     bool is3d_;
    12     struct {
    24     struct { QString lon, lat; } gps_;
    13 	QString lon;
    25     int alt_[2];
    14 	QString lat;
       
    15     } gps_;
       
    16     struct {
       
    17 	int baro;
       
    18 	int gps;
       
    19     } alt_;
       
    20 };
    26 };
    21 
    27 
    22 typedef QList<Fix> Fixes;
    28 typedef QList<Fix> Fixes;
    23 
    29 
    24 class IGC {
    30 class IGC {
    26     void read(QTextStream&);
    32     void read(QTextStream&);
    27     QString device() const { return device_; }
    33     QString device() const { return device_; }
    28     QString pilot() const { return pilot_; }
    34     QString pilot() const { return pilot_; }
    29     QString glider() const { return glider_; }
    35     QString glider() const { return glider_; }
    30     QDate date() const { return date_; }
    36     QDate date() const { return date_; }
       
    37     
       
    38     Fixes fixes() const { return fixes_; }
       
    39     Fixes fixes() { return fixes_; }
       
    40 
       
    41     Fix start() const { return start_; }
       
    42     Fix landing() const { return landing_; }
       
    43 
    31   private:
    44   private:
    32     QString device_, pilot_, glider_;
    45     QString device_, pilot_, glider_;
    33     QDate date_;
    46     QDate date_;
    34     Fixes fixes_;
    47     Fixes fixes_;
    35 
    48 
       
    49     Fix start_;
       
    50     Fix landing_;
       
    51 
    36 };
    52 };
    37 #endif
    53 #endif