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