-
Notifications
You must be signed in to change notification settings - Fork 1
/
RinexNavigacyjny.h
103 lines (96 loc) · 2.81 KB
/
RinexNavigacyjny.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
/*
*KLASA OGÓLNA PLIKÓW RINEX DZIĘKI NIEJ BĘDZIE MOŻNA ZA POMOCĄ FUNKCJI WIRTUALNYCH
* OKREŚLAĆ DOKŁANE INSTRUKCJE OBLICZANIA WSPÓŁRZĘDNYCH ORAZ PRZESYŁAĆ POPRZEZ
* REFERENCJE OBIEKT KLASY POCHODNEJ I ODCZYTYWAC Z NIEGO WSP OBLICZONE Z PLIKOW
* BRODECAST LUB PRECISE
*/
#ifndef RINEX_H
#define RINEX_H
#include <string>
#include <QString>
#include <map>
#include <vector>
#include "MyTimeClass.h"
#include <QList>
#include <math.h>
#include <string>
#include <QFile>
#include <QMessageBox>
#include <QTextStream>
#include <QDebug>
class RinexNavigacyjny
{
protected:
struct FileDatas // struktura w której znajdują się znalezione wartosci
{
MyTimeClass CzasObliczenSatelity;
long double X;
long double Y;
long double Z;
QString SV;
int hs;
int ms;
double ss;
long double DtSi;
long double toc;
long double tSV;
long double a0;
long double a1;
long double a2;
long double IODE;
long double Crs;
long double del_n;
long double M0;
long double Cuc;
long double e;
long double Cus;
long double HalfA;
long double toe;
long double Cic;
long double Omega0;
long double Cis;
long double i0;
long double Crc;
long double omega;
long double OmegaDot;
long double Idot;
long double TDG;
long double dReal;
};
QString NazwaPliku; //nazwa pliku
//Data dla wygenerowania nazwy pliku danego obiektu klasy pochodnej
bool znalazloDate;
MyTimeClass CzasObliczen;
long SecoundsOfTheWeek;
void obliczWsp(FileDatas*); //Obliczenie wspolrzednych
long CalculateSecoundsOfMonth(int,int,int);
public:
/*
* Obliczone wsp satelity w zależnosci od wybranej klasy pochodnej
* dzięki temu że jest to klasa abstrakcyjna, można wysyłać do funkcji dowolną
* klasę pochodną (BRDC, Mixed).
*/
double brdcIonoPharam[8];
std::map<QString,FileDatas> Satellites;
struct Blad {QString info;}; //obsługa błędów
RinexNavigacyjny(); //konstruktor
RinexNavigacyjny(int,int,int,QString&);
int day;
int month;
int year;
//funkcje z wartościa
QVector<QString> ListaSatelitow();
std::vector<long double> WspolrzedneSatelity(QString, long double,bool);
QString dataPliku(QString);
QString getNazwaPliku();
//funckje void
void ZmienCzasObliczen(MyTimeClass);
void WybraneSatelity(QList<QString>,std::map<QString,FileDatas*>*);
//funkcje wirtualne
virtual ~RinexNavigacyjny(); //destruktor
virtual void OdejmijSekundyZCzasuObliczenDanegoSatelity(QString,long double) = 0;
virtual void UzupelnijStrukture()=0;
virtual void PoprawStruktureSatelity(FileDatas*,QString)=0;
friend class Calculations;
};
#endif // RINEX_H