Earth Observation Mission CFI Software Pointing Software User Manual |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.18 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 00031 namespace EECFI 00032 { 00033 00037 class XP_DECL Attitude: public CfiId 00038 { 00039 friend class Target; 00040 00041 public: 00042 00044 Attitude() ; 00045 00047 Attitude( const TimeCorrelation &timeId, const SatNomTransId &satNomTrId, 00048 const SatTransId &satTrId, const InstrTransId &instTrId ) ; 00049 00051 ~Attitude() EXCEPT; 00052 00054 void setTransformations( const TimeCorrelation &timeId, const SatNomTransId &satNomTrId, 00055 const SatTransId &satTrId, const InstrTransId &instTrId) ; 00056 00061 void compute( const ModelId &modelId, const StateVector &stateVector, 00062 long targetFrame ) ; 00063 00065 void userSet( const ModelId &modelId, const StateVector &stateVector, 00066 long targetFrame, const double matrix[3][3], 00067 const double matrixRate[3][3], const double matrixRateRate[3][3], 00068 const double offset[3]) ; 00069 00071 AttRec getAttitudeData(long dataType, 00072 long sourceRefType, 00073 long sourceRef) const ; 00074 00076 AttitudeData getData() const ; 00077 00079 void setData( const AttitudeData &attitudeData ) ; 00080 00082 Coord changeFrame( const SatId &satId, const ModelId &modelId, 00083 long modeFlag, long frameFlagIn, 00084 long frameIdIn, long frameFlagOut, long frameIdOut, 00085 const StateVector &satStateVec, const Coord &statVecIn ) ; 00087 Attitude const &operator=(Attitude const &att); 00088 00090 SatId satId() const; 00091 00092 protected: 00093 00095 GenericId* getId(); // this is the xo_orbit_id variable 00096 00097 private: 00098 00099 TimeCorrelation timeId; 00100 SatNomTransId satNomTrId; 00101 SatTransId satTrId; 00102 InstrTransId instrTrId; 00103 }; 00104 00105 } // closing namespace 00106 00107 #endif