![]() |
Earth Observation Mission CFI Software Orbit Software User Manual |
![]() |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.20 00003 //-------------------------------------------------------- 00004 00005 //-------------------------------------------------------------------- 00006 // CVS Info: $Id: ANXTime.h,v 1.12 2014-02-25 15:36:32 cavm Exp $ 00007 //-------------------------------------------------------------------- 00008 00009 #ifndef _ANXTIME_H 00010 #define _ANXTIME_H 00011 00012 //--INCLUDE----------------------------------------------------------- 00013 #include <CfiClass.h> 00014 #include <CfiError.h> 00015 #include <OrbitData.h> 00016 #include <OrbitId.h> 00017 00018 //--NAMESPACES-------------------------------------------------------- 00019 00020 namespace EECFI 00021 { 00025 class XO_DECL ANXTime : public CfiClass 00026 { 00027 friend class RelANXTime; 00028 friend class OrbitExtra; 00029 friend class Swath; 00030 00031 public: 00032 long orbit; 00033 long seconds; 00034 long microseconds; 00035 00037 ANXTime(); 00038 00040 ANXTime(long orbitIn, long secondsIn, long microsecIn); 00041 00043 ANXTime(const OrbitId& orbitId, long orbitIn, long secondsIn, long microsecIn); 00044 00046 ANXTime(const ANXTime& at); 00047 00049 ~ANXTime() NOEXCEPT; 00050 00052 double orbitToTime(long timeRef) const; 00053 00061 void timeToOrbit(long timeRef, double time); 00062 00064 void setBOM(); 00065 00067 void setEOM(); 00068 00070 OrbitalInfo getOrbitInfo() const; 00071 00080 void orbitInfoConfigure(long item, long option) const; // AN-523 00081 00083 void adjustWithNodalPeriod(); 00084 00085 // ANXTime arithmetic operators. 00086 00088 ANXTime operator+(double time); 00090 ANXTime operator-(double time); 00092 double operator-(const ANXTime& t) const; 00093 00094 // ANXTime comparisons. 00096 bool operator>(const ANXTime& t) const; 00098 bool operator<(const ANXTime& t) const; 00100 bool operator>=(const ANXTime& t) const; 00102 bool operator<=(const ANXTime& t) const; 00104 bool operator==(const ANXTime& t) const; 00106 bool operator!=(const ANXTime& t) const; 00107 00109 void operator=(const ANXTime& t); 00110 00111 protected: 00112 private: 00113 OrbitId orbitId; 00114 int isBOM_EOM; 00115 }; 00116 00117 } // namespace EECFI 00118 00119 #endif