| Earth Observation Mission CFI Software Orbit Software User Manual |

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- File List

# Z:/work/code/expcfidev/cplusplusWrapper/Orbit/include/ANXTime.h

    00001 //--------------------------------------------------------
    00002 // Earth Observation Mission CFI Software. Version 4.4
    00003 //--------------------------------------------------------
    00004
    00005 //--------------------------------------------------------------------
    00006 // CVS Info: $Id: ANXTime.h,v 1.8 2012/06/20 16:11:22 expcfi Exp $
    00007 //--------------------------------------------------------------------
    00008
    00009 #ifndef _ANXTIME_H
    00010 #define _ANXTIME_H
    00011
    00012 //--INCLUDE-----------------------------------------------------------
    00013 #include "OrbitData.h"
    00014 #include "CfiError.h"
    00015 #include "CfiClass.h"
    00016 #include "OrbitId.h"
    00017
    00018 //--NAMESPACES--------------------------------------------------------
    00019 using namespace std;
    00020
    00021 namespace EECFI
    00022 {
    00023
    00027   class ANXTime: public CfiClass
    00028   {
    00029     friend class RelANXTime;
    00030     friend class OrbitExtra;
    00031     friend class Swath;
    00032
    00033     public:
    00034       long orbit;
    00035       long seconds;
    00036       long microseconds;
    00037
    00039       ANXTime();
    00040
    00042       ANXTime( long orbitIn, long secondsIn, long microsecIn );
    00043
    00045       ANXTime( const OrbitId &orbitId, long orbitIn, long secondsIn, long microsecIn )  throw (CfiError);
    00046
    00048       ANXTime( const ANXTime &at );
    00049
    00051       ~ANXTime();
    00052
    00054       double orbitToTime( long timeRef ) const throw (CfiError);
    00055
    00059       void timeToOrbit( long timeRef, double time ) throw (CfiError);
    00060
    00062       void setBOM();
    00063
    00065       void setEOM();
    00066
    00068       OrbitalInfo getOrbitInfo() const throw (CfiError);
    00069
    00071       void adjustWithNodalPeriod() throw (CfiError);
    00072
    00073       // ANXTime arithmetic operators.
    00074
    00076       ANXTime operator+ ( double time );
    00078       ANXTime operator- ( double time );
    00080       double  operator- ( const ANXTime &t ) const throw (CfiError);
    00081
    00082       // ANXTime comparisons.
    00084       bool operator>  ( const ANXTime &t ) const throw (CfiError);
    00086       bool operator<  ( const ANXTime &t ) const throw (CfiError);
    00088       bool operator>= ( const ANXTime &t ) const throw (CfiError);
    00090       bool operator<= ( const ANXTime &t ) const throw (CfiError);
    00092       bool operator== ( const ANXTime &t ) const throw (CfiError);
    00094       bool operator!= ( const ANXTime &t ) const throw (CfiError);
    00095
    00097       void operator= ( const ANXTime &t );
    00098
    00099     protected:
    00100
    00101
    00102     private:
    00103       OrbitId orbitId;
    00104       int isBOM_EOM;
    00105   };
    00106
    00107 } // closing namespace
    00108
    00109 #endif