sgp4/Observer.h

45 lines
896 B
C
Raw Normal View History

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