![]() |
Earth Observation Mission CFI Software Lib Software User Manual |
![]() |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.15 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 XL_DECL StarData; // Dummy declaration to avoid crossed-include problems. 00030 class XL_DECL 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 00060 Geodetic getGeodetic( const ModelId &modelId, long deriv) throw (CfiError); 00061 00063 void setGeodetic( const ModelId &modelId, long deriv, const Geodetic &geo ) throw (CfiError); 00064 00066 Kepler getKepler( const ModelId &modelId, long mode ) throw (CfiError); 00067 00069 void setKepler( const ModelId &modelId, const Kepler &kep ) throw (CfiError); 00070 00078 StarData getRaDec( const ModelId &modelId, long deriv ) throw (CfiError); 00079 00081 void topocentricToEf( const ModelId &modelId, long mode, long deriv, 00082 const Coord &topOrigin, 00083 const Topocentric &topo); 00084 00086 void efToTopocentric( const ModelId &modelId, long mode, long der, 00087 const Coord &topOrigin, 00088 Topocentric &topo); 00090 void operator=(Coord c); 00091 00092 protected: 00093 00094 private: 00095 00096 }; 00097 00098 } // closing namespace 00099 00100 #endif