Earth Observation Mission CFI Software Pointing Software User Manual |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.11 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 "OrbitId.h" 00021 #include "SatTransId.h" 00022 #include "SatNomTransId.h" 00023 #include "InstrTransId.h" 00024 #include "SatId.h" 00025 #include "ModelId.h" 00026 #include "AttFile.h" 00027 #include "AttitudeDef.h" 00028 00029 //--NAMESPACES-------------------------------------------------------- 00030 using namespace std; 00031 00032 namespace EECFI 00033 { 00034 00038 class XP_DECL Attitude: public CfiId 00039 { 00040 friend class Target; 00041 00042 public: 00043 00045 Attitude() throw (CfiError); 00046 00048 Attitude( const TimeCorrelation &timeId, const SatNomTransId &satNomTrId, 00049 const SatTransId &satTrId, const InstrTransId &instTrId ) throw (CfiError); 00050 00052 ~Attitude() throw (CfiError); 00053 00055 void setTransformations( const TimeCorrelation &timeId, const SatNomTransId &satNomTrId, 00056 const SatTransId &satTrId, const InstrTransId &instTrId) throw (CfiError); 00057 00062 void compute( const ModelId &modelId, const StateVector &stateVector, 00063 long targetFrame ) throw(CfiError); 00064 00066 void userSet( const ModelId &modelId, const StateVector &stateVector, 00067 long targetFrame, const double matrix[3][3], 00068 const double matrixRate[3][3], const double matrixRateRate[3][3], 00069 const double offset[3]) throw(CfiError); 00070 00072 AttRec getAttitudeData(long dataType, 00073 long sourceRefType, 00074 long sourceRef) const throw(CfiError); 00075 00077 AttitudeData getData() const throw (CfiError); 00078 00080 void setData( const AttitudeData &attitudeData ) throw (CfiError); 00081 00083 Coord changeFrame( const SatId &satId, const ModelId &modelId, 00084 long modeFlag, long frameFlagIn, 00085 long frameIdIn, long frameFlagOut, long frameIdOut, 00086 const StateVector &satStateVec, const Coord &statVecIn ) throw (CfiError); 00088 Attitude const &operator=(Attitude const &att); 00089 00091 SatId satId() const; 00092 00093 protected: 00094 00096 GenericId* getId(); // this is the xo_orbit_id variable 00097 00098 private: 00099 00100 TimeCorrelation timeId; 00101 SatNomTransId satNomTrId; 00102 SatTransId satTrId; 00103 InstrTransId instrTrId; 00104 }; 00105 00106 } // closing namespace 00107 00108 #endif