Earth Observation Mission CFI Software Lib Software User Manual |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.18 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 00023 namespace EECFI 00024 { 00025 class XL_DECL StarData; // Dummy declaration to avoid crossed-include problems. 00029 class XL_DECL Coord: public CfiClass 00030 { 00031 friend class StateVector; 00032 friend class StarData; 00033 friend class Target; 00034 friend class Attitude; 00035 00036 public: 00037 00038 long cs; 00039 long deriv; 00040 double pos[3]; 00041 double vel[3]; 00042 double acc[3]; 00043 00045 Coord(); 00046 00048 Coord(long csRef, long der, 00049 double pos[3], 00050 double vel[3], 00051 double acc[3]); 00052 00054 ~Coord() NOEXCEPT {}; 00055 00059 Geodetic getGeodetic( const ModelId &modelId, long deriv) const; 00060 00062 void setGeodetic( const ModelId &modelId, long deriv, const Geodetic &geo ) ; 00063 00065 Kepler getKepler( const ModelId &modelId, long mode ) const; 00066 00068 void setKepler( const ModelId &modelId, const Kepler &kep ) ; 00069 00077 StarData getRaDec( const ModelId &modelId, long deriv ) const; 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) const; 00089 void operator=(const Coord &c); 00090 00091 protected: 00092 00093 private: 00094 00095 }; 00096 00097 } // closing namespace 00098 00099 #endif