From 1a28236473a64ba5b05d4bb2079c9657df2c234c Mon Sep 17 00:00:00 2001 From: Daniel Warner Date: Mon, 4 Apr 2011 00:18:53 +0100 Subject: [PATCH] Added FindPosition which takes a Julian object --- SGDP4.cpp | 17 ++++++++++------- SGDP4.h | 3 ++- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/SGDP4.cpp b/SGDP4.cpp index 8faef95..3a50b9b 100644 --- a/SGDP4.cpp +++ b/SGDP4.cpp @@ -218,16 +218,19 @@ void SGDP4::Initialize(const double& theta2, const double& betao2, const double& first_run_ = false; } -void SGDP4::FindPosition(Eci& eci, double tsince) { - - Julian tsince_epoch = Epoch(); - tsince_epoch.AddMin(tsince); - double actual_tsince = tsince_epoch.SpanMin(Epoch()); +void SGDP4::FindPosition(Eci& eci, double tsince) const { if (i_use_deep_space_) - FindPositionSDP4(eci, actual_tsince); + FindPositionSDP4(eci, tsince); 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 { diff --git a/SGDP4.h b/SGDP4.h index 0ce5163..2a0faef 100644 --- a/SGDP4.h +++ b/SGDP4.h @@ -10,7 +10,8 @@ public: virtual ~SGDP4(void); 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: void Initialize(const double& theta2, const double& betao2, const double& betao, const double& eosq);