Earth Observation Mission CFI Software Pointing Software User Manual |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.6 00003 //-------------------------------------------------------- 00004 00005 //-------------------------------------------------------------------- 00006 // CVS Info: $Id: Attitude.h,v 1.12 2013-09-18 07:44:05 expcfi Exp $ 00007 //-------------------------------------------------------------------- 00008 00009 #ifndef _ATTITUDEID_H 00010 #define _ATTITUDEID_H 00011 00012 //--INCLUDE----------------------------------------------------------- 00013 #include <vector> 00014 #include <string> 00015 00016 #include "PointingData.h" 00017 #include "CfiError.h" 00018 #include "CfiId.h" 00019 #include "TimeCorrelation.h" 00020 #include "SatTransId.h" 00021 #include "SatNomTransId.h" 00022 #include "InstrTransId.h" 00023 #include "SatId.h" 00024 #include "ModelId.h" 00025 00026 //--NAMESPACES-------------------------------------------------------- 00027 using namespace std; 00028 00029 namespace EECFI 00030 { 00031 00035 class Attitude: public CfiId 00036 { 00037 friend class Target; 00038 00039 public: 00040 00042 Attitude() throw (CfiError); 00043 00045 Attitude( const TimeCorrelation &timeId, const SatNomTransId &satNomTrId, 00046 const SatTransId &satTrId, const InstrTransId &instTrId ) throw (CfiError); 00047 00049 ~Attitude() throw (CfiError); 00050 00052 void setTransformations( const TimeCorrelation &timeId, const SatNomTransId &satNomTrId, 00053 const SatTransId &satTrId, const InstrTransId &instTrId) throw (CfiError); 00054 00056 void compute( const ModelId &modelId, const StateVector &stateVector, 00057 long targetFrame ) throw(CfiError); 00058 00060 void userSet( const ModelId &modelId, const StateVector &stateVector, 00061 long targetFrame, const double matrix[3][3], 00062 const double matrixRate[3][3], const double matrixRateRate[3][3], 00063 const double offset[3]) throw(CfiError); 00064 00066 AttitudeData getData() const throw (CfiError); 00067 00069 void setData( const AttitudeData &attitudeData ) throw (CfiError); 00070 00072 Coord changeFrame( const SatId &satId, const ModelId &modelId, 00073 long modeFlag, long frameFlagIn, 00074 long frameIdIn, long frameFlagOut, long frameIdOut, 00075 const StateVector &satStateVec, const Coord &statVecIn ) throw (CfiError); 00077 Attitude const &operator=(Attitude const &att); 00078 00080 SatId satId() const; 00081 00082 protected: 00083 00085 GenericId* getId(); // this is the xo_orbit_id variable 00086 00087 private: 00088 00089 TimeCorrelation timeId; 00090 SatNomTransId satNomTrId; 00091 SatTransId satTrId; 00092 InstrTransId instrTrId; 00093 }; 00094 00095 } // closing namespace 00096 00097 #endif