Earth Observation Mission CFI Software Lib Software User Manual |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.22 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 //--INCLUDE----------------------------------------------------------- 00013 #include <CfiClass.h> 00014 #include <CfiError.h> 00015 #include <Geodetic.h> 00016 #include <LibData.h> 00017 #include <ModelId.h> 00018 #include <Star.h> 00019 00020 //--NAMESPACES-------------------------------------------------------- 00021 00022 namespace EECFI 00023 { 00024 class XL_DECL StarData; // Dummy declaration to avoid crossed-include problems. 00028 class XL_DECL Coord : public CfiClass 00029 { 00030 friend class StateVector; 00031 friend class StarData; 00032 friend class Target; 00033 friend class Attitude; 00034 00035 public: 00036 long cs; 00037 long deriv; 00038 double pos[3]; 00039 double vel[3]; 00040 double acc[3]; 00041 00043 Coord(); 00044 00046 Coord(long csRef, long der, double pos[3], double vel[3], double acc[3]); 00047 00049 ~Coord() NOEXCEPT{}; 00050 00054 Geodetic getGeodetic(const ModelId& modelId, long deriv) const; 00055 00057 void setGeodetic(const ModelId& modelId, long deriv, const Geodetic& geo); 00058 00060 Kepler getKepler(const ModelId& modelId, long mode) const; 00061 00063 void setKepler(const ModelId& modelId, const Kepler& kep); 00064 00072 StarData getRaDec(const ModelId& modelId, long deriv) const; 00073 00075 void topocentricToEf(const ModelId& modelId, long mode, long deriv, const Coord& topOrigin, const Topocentric& topo); 00076 00078 void efToTopocentric(const ModelId& modelId, long mode, long der, const Coord& topOrigin, Topocentric& topo) const; 00080 void operator=(const Coord& c); 00081 00082 protected: 00083 private: 00084 }; 00085 00086 } // namespace EECFI 00087 00088 #endif