Fixed bug in Observer. observers_eci_ date was being initialized at start of ctor. So UpdateObserversEci() wasnt being called later in ctor as the dates matched

feature/19
Daniel Warner 2011-05-30 00:04:08 +00:00
parent b0a25a8be7
commit 1cf4c38d1a
1 changed files with 6 additions and 2 deletions

8
Observer.cpp Normal file → Executable file
View File

@ -11,13 +11,13 @@ Observer::Observer(const double latitude, const double longitude, const double a
geo_.longitude = DegreesToRadians(longitude); geo_.longitude = DegreesToRadians(longitude);
geo_.altitude = altitude; geo_.altitude = altitude;
UpdateObserversEci(Julian()); observers_eci_ = Eci(Julian(), geo_);
} }
Observer::Observer(const CoordGeodetic &geo) Observer::Observer(const CoordGeodetic &geo)
: geo_(geo) { : geo_(geo) {
UpdateObserversEci(Julian()); observers_eci_ = Eci(Julian(), geo_);
} }
Observer::~Observer(void) { Observer::~Observer(void) {
@ -25,6 +25,9 @@ Observer::~Observer(void) {
void Observer::UpdateObserversEci(const Julian &date) { void Observer::UpdateObserversEci(const Julian &date) {
/*
* if date has changed, update for new date
*/
if (observers_eci_.GetDate() != date) { if (observers_eci_.GetDate() != date) {
observers_eci_ = Eci(date, geo_); observers_eci_ = Eci(date, geo_);
} }
@ -37,6 +40,7 @@ CoordTopographic Observer::GetLookAngle(const Eci &eci) {
/* /*
* update the observers Eci to match the time of the Eci passed in * update the observers Eci to match the time of the Eci passed in
* if necessary
*/ */
UpdateObserversEci(eci.GetDate()); UpdateObserversEci(eci.GetDate());