![]() |
Earth Observation Mission CFI Software Lib Software User Manual |
![]() |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.4 00003 //-------------------------------------------------------- 00004 00005 //-------------------------------------------------------------------- 00006 // CVS Info: $Id: Coord.h,v 1.9 2012/06/20 16:11:13 expcfi Exp $ 00007 //-------------------------------------------------------------------- 00008 00009 #ifndef _EECFI_COORD_H 00010 #define _EECFI_COORD_H 00011 00012 00013 //--INCLUDE----------------------------------------------------------- 00014 #include "LibData.h" 00015 #include "CfiClass.h" 00016 #include "CfiError.h" 00017 #include "Geodetic.h" 00018 #include "ModelId.h" 00019 #include "Star.h" 00020 00021 //--NAMESPACES-------------------------------------------------------- 00022 using namespace std; 00023 00024 namespace EECFI 00025 { 00026 class StarData; // Dummy declaration to avoid crossed-include problems. 00030 class Coord: public CfiClass 00031 { 00032 friend class StateVector; 00033 friend class StarData; 00034 00035 public: 00036 00037 long cs; 00038 long deriv; 00039 double pos[3]; 00040 double vel[3]; 00041 double acc[3]; 00042 00044 Coord(); 00045 00047 Coord(long csRef, long der, 00048 double pos[3], 00049 double vel[3], 00050 double acc[3]); 00051 00053 ~Coord() {}; 00054 00057 Geodetic getGeodetic( const ModelId &modelId, long deriv) throw (CfiError); 00058 00060 void setGeodetic( const ModelId &modelId, long deriv, const Geodetic &geo ) throw (CfiError); 00061 00063 Kepler getKepler( const ModelId &modelId, long mode ) throw (CfiError); 00064 00066 void setKepler( const ModelId &modelId, const Kepler &kep ) throw (CfiError); 00067 00075 StarData getRaDec( const ModelId &modelId, long deriv ) throw (CfiError); 00076 00078 void topocentricToEf( const ModelId &modelId, long mode, long deriv, 00079 const Coord &topOrigin, 00080 const Topocentric &topo); 00081 00083 void efToTopocentric( const ModelId &modelId, long mode, long der, 00084 const Coord &topOrigin, 00085 Topocentric &topo); 00087 void operator=(Coord c); 00088 00089 protected: 00091 static long getCSEnum(long csIn); 00092 00093 private: 00094 00095 }; 00096 00097 } // closing namespace 00098 00099 #endif