Earth Observation Mission CFI Software Pointing Software User Manual |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.9 00003 //-------------------------------------------------------- 00004 00005 //-------------------------------------------------------------------- 00006 // CVS Info: $Id: Attitude.h,v 1.13 2014-02-20 20:02:33 cavm 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 00059 void compute( const ModelId &modelId, const StateVector &stateVector, 00060 long targetFrame ) throw(CfiError); 00061 00063 void userSet( const ModelId &modelId, const StateVector &stateVector, 00064 long targetFrame, const double matrix[3][3], 00065 const double matrixRate[3][3], const double matrixRateRate[3][3], 00066 const double offset[3]) throw(CfiError); 00067 00069 AttitudeData getData() const throw (CfiError); 00070 00072 void setData( const AttitudeData &attitudeData ) throw (CfiError); 00073 00075 Coord changeFrame( const SatId &satId, const ModelId &modelId, 00076 long modeFlag, long frameFlagIn, 00077 long frameIdIn, long frameFlagOut, long frameIdOut, 00078 const StateVector &satStateVec, const Coord &statVecIn ) throw (CfiError); 00080 Attitude const &operator=(Attitude const &att); 00081 00083 SatId satId() const; 00084 00085 protected: 00086 00088 GenericId* getId(); // this is the xo_orbit_id variable 00089 00090 private: 00091 00092 TimeCorrelation timeId; 00093 SatNomTransId satNomTrId; 00094 SatTransId satTrId; 00095 InstrTransId instrTrId; 00096 }; 00097 00098 } // closing namespace 00099 00100 #endif