Earth Observation Mission CFI Software Lib Software User Manual |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.10 00003 //-------------------------------------------------------- 00004 00005 //-------------------------------------------------------------------- 00006 // CVS Info: $Id: Coord.h,v 1.15 2014-02-20 20:02:28 cavm 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 friend class Target; 00035 friend class Attitude; 00036 00037 public: 00038 00039 long cs; 00040 long deriv; 00041 double pos[3]; 00042 double vel[3]; 00043 double acc[3]; 00044 00046 Coord(); 00047 00049 Coord(long csRef, long der, 00050 double pos[3], 00051 double vel[3], 00052 double acc[3]); 00053 00055 ~Coord() {}; 00056 00059 Geodetic getGeodetic( const ModelId &modelId, long deriv) throw (CfiError); 00060 00062 void setGeodetic( const ModelId &modelId, long deriv, const Geodetic &geo ) throw (CfiError); 00063 00065 Kepler getKepler( const ModelId &modelId, long mode ) throw (CfiError); 00066 00068 void setKepler( const ModelId &modelId, const Kepler &kep ) throw (CfiError); 00069 00077 StarData getRaDec( const ModelId &modelId, long deriv ) throw (CfiError); 00078 00080 void topocentricToEf( const ModelId &modelId, long mode, long deriv, 00081 const Coord &topOrigin, 00082 const Topocentric &topo); 00083 00085 void efToTopocentric( const ModelId &modelId, long mode, long der, 00086 const Coord &topOrigin, 00087 Topocentric &topo); 00089 void operator=(Coord c); 00090 00091 protected: 00092 00093 private: 00094 00095 }; 00096 00097 } // closing namespace 00098 00099 #endif