![]() |
Earth Observation Mission CFI Software Pointing Software User Manual |
![]() |
00001 //-------------------------------------------------------------------- 00002 // CVS Info: $Id: SatTransId.h,v 1.7 2009/04/13 13:46:51 expcfi Exp $ 00003 //-------------------------------------------------------------------- 00004 00005 #ifndef _SATTRANSID_H 00006 #define _SATTRANSID_H 00007 00008 //--INCLUDE----------------------------------------------------------- 00009 #include <vector> 00010 #include <string> 00011 00012 #include "DataHandlingData.h" 00013 #include "PointingData.h" 00014 #include "CfiError.h" 00015 #include "CfiId.h" 00016 #include "TimeCorrelation.h" 00017 #include "AttRec.h" 00018 #include "SatId.h" 00019 00020 //--NAMESPACES-------------------------------------------------------- 00021 using namespace std; 00022 00023 namespace EECFI 00024 { 00025 00029 class SatTransId: public CfiId 00030 { 00031 friend class Attitude; 00032 friend class DRSVis; 00033 00034 public: 00035 00037 SatTransId(); 00038 00040 ~SatTransId() throw (CfiError); 00041 00043 void init( const double angle[3] ) throw (CfiError); 00044 00046 void init( const double matrix[3][3] ) throw (CfiError); 00047 00049 void init( long angleType, const vector<long> &harmTypePitch, const vector<long> &harmTypeRoll, 00050 const vector<long> &harmTypeYaw, const vector<double> &harmCoeffPitch, 00051 const vector<double> &harmCoeffRoll, const vector<double> &harmCoeffYaw) throw (CfiError); 00052 00054 void init( long inertialFrame, const vector<AttRec> &quaternions, double matrix[3][3] ) throw (CfiError); 00055 00057 void init( long inertialFrame, const vector<AttRec> &quaternions, double angles[3] ) throw (CfiError); 00058 00060 void init( const TimeCorrelation &timeId, const vector<string> &files, 00061 string &auxiliaryFile, long timeInitMode, long timeRef, 00062 double time0, double time1 ) throw (CfiError); 00063 00065 MatrixModel getMatrix() const throw (CfiError); 00066 00068 void setMatrix( const MatrixModel &matrixModel ) throw (CfiError); 00069 00071 AngleModel getAngles() const throw (CfiError); 00072 00074 void setAngles( const AngleModel &angleModel ) throw (CfiError); 00075 00077 HarmonicModel getHarmonic() const throw (CfiError); 00078 00080 void setHarmonic( const HarmonicModel &harmModel ) throw (CfiError); 00081 00083 SatAttFileModel getFile() const throw (CfiError); 00084 00086 void setFile( const SatAttFileModel &fileModel ) throw (CfiError); 00087 00089 QuatPlusMatrixModel getQuatPlusMatrix() const throw (CfiError); 00090 00092 void setQuatPlusMatrix( const QuatPlusMatrixModel &quatPlusMatrixModel ) throw (CfiError); 00093 00095 QuatPlusAnglesModel getQuatPlusAngles() const throw (CfiError); 00096 00098 void setQuatPlusAngles( const QuatPlusAnglesModel &quatPlusAnglesModel ) throw (CfiError); 00099 00101 void setAzElDefinition( const AzElDefinition &azElDef ) throw (CfiError); 00102 00104 SatId satId() const; 00105 00106 protected: 00107 00109 GenericId* getId(); 00110 00112 void eraseObject() throw (CfiError); 00113 00114 private: 00115 00116 TimeCorrelation timeId; 00117 }; 00118 00119 } // closing namespace 00120 00121 #endif