Added FindPosition which takes a Julian object

feature/19
Daniel Warner 2011-04-04 00:18:53 +01:00
parent 0b64bb1c0d
commit 1a28236473
2 changed files with 12 additions and 8 deletions

View File

@ -218,16 +218,19 @@ void SGDP4::Initialize(const double& theta2, const double& betao2, const double&
first_run_ = false; first_run_ = false;
} }
void SGDP4::FindPosition(Eci& eci, double tsince) { void SGDP4::FindPosition(Eci& eci, double tsince) const {
Julian tsince_epoch = Epoch();
tsince_epoch.AddMin(tsince);
double actual_tsince = tsince_epoch.SpanMin(Epoch());
if (i_use_deep_space_) if (i_use_deep_space_)
FindPositionSDP4(eci, actual_tsince); FindPositionSDP4(eci, tsince);
else else
FindPositionSGP4(eci, actual_tsince); FindPositionSGP4(eci, tsince);
}
void SGDP4::FindPosition(Eci& eci, const Julian& date) const {
const double tsince = date.SpanMin(Epoch());
FindPosition(eci, tsince);
} }
void SGDP4::FindPositionSDP4(Eci& eci, double tsince) const { void SGDP4::FindPositionSDP4(Eci& eci, double tsince) const {

View File

@ -10,7 +10,8 @@ public:
virtual ~SGDP4(void); virtual ~SGDP4(void);
void SetTle(const Tle& tle); void SetTle(const Tle& tle);
void FindPosition(Eci& eci, double tsince); void FindPosition(Eci& eci, double tsince) const;
void FindPosition(Eci& eci, const Julian& date) const;
private: private:
void Initialize(const double& theta2, const double& betao2, const double& betao, const double& eosq); void Initialize(const double& theta2, const double& betao2, const double& betao, const double& eosq);