sgp4/Observer.h

45 lines
933 B
C++

#ifndef OBSERVER_H_
#define OBSERVER_H_
#include "CoordGeodetic.h"
#include "CoordTopographic.h"
#include "Julian.h"
#include "Eci.h"
class Observer {
public:
Observer(const double latitude, const double longitude, const double altitude);
Observer(const CoordGeodetic &geo);
virtual ~Observer(void);
void SetLocation(const CoordGeodetic& geo) {
geo_ = geo;
observers_eci_ = Eci(observers_eci_.GetDate(), geo_);
}
CoordGeodetic GetLocation() const {
return geo_;
}
Eci GetEciPosition(const Julian &date) const {
return Eci(date, geo_);
}
CoordTopographic GetLookAngle(const Eci &eci);
private:
void UpdateObserversEci(const Julian &date);
/*
* the observers position
*/
CoordGeodetic geo_;
/*
* the observers eci for a particular time
*/
Eci observers_eci_;
};
#endif