Earth Observation Mission CFI Software Lib Software User Manual |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.26 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 00050 Coord(const Coord& other); 00051 00053 ~Coord() NOEXCEPT{}; 00054 00058 Geodetic getGeodetic(const ModelId& modelId, long deriv) const; 00059 00061 void setGeodetic(const ModelId& modelId, long deriv, const Geodetic& geo); 00062 00064 Kepler getKepler(const ModelId& modelId, long mode) const; 00065 00067 void setKepler(const ModelId& modelId, const Kepler& kep); 00068 00076 StarData getRaDec(const ModelId& modelId, long deriv) const; 00077 00079 void topocentricToEf(const ModelId& modelId, long mode, long deriv, const Coord& topOrigin, const Topocentric& topo); 00080 00082 void efToTopocentric(const ModelId& modelId, long mode, long der, const Coord& topOrigin, Topocentric& topo) const; 00084 void operator=(const Coord& c); 00085 00086 protected: 00087 private: 00088 }; 00089 00090 } // namespace EECFI 00091 00092 #endif