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: SatTransId.h,v 1.16 2014-02-20 20:02:34 cavm Exp $ 00007 //-------------------------------------------------------------------- 00008 00009 #ifndef _SATTRANSID_H 00010 #define _SATTRANSID_H 00011 00012 //--INCLUDE----------------------------------------------------------- 00013 #include <vector> 00014 #include <string> 00015 00016 #include "DataHandlingData.h" 00017 #include "PointingData.h" 00018 #include "CfiError.h" 00019 #include "CfiId.h" 00020 #include "TimeCorrelation.h" 00021 #include "AttRec.h" 00022 #include "SatId.h" 00023 00024 //--NAMESPACES-------------------------------------------------------- 00025 00026 namespace EECFI 00027 { 00028 00032 class XP_DECL SatTransId: public CfiId 00033 { 00034 friend class Attitude; 00035 friend class Swath; 00036 friend class PointingFunc; // AN-469 00037 friend class SwathId; // AN-505 00038 friend class AttitudeDef; // AN-526 00039 00040 public: 00041 00043 SatTransId(); 00044 00046 ~SatTransId() EXCEPT; 00047 00049 void init( const double angle[3] ) ; 00050 00052 void init( const double matrix[3][3] ) ; 00053 00055 void init( long angleType, const std::vector<long> &harmTypePitch, const std::vector<long> &harmTypeRoll, 00056 const std::vector<long> &harmTypeYaw, const std::vector<double> &harmCoeffPitch, 00057 const std::vector<double> &harmCoeffRoll, const std::vector<double> &harmCoeffYaw) ; 00058 00060 void init( long inertialFrame, const std::vector<AttRec> &quaternions, const double matrix[3][3] ) ; 00061 00063 void init( long inertialFrame, const std::vector<AttRec> &quaternions, const double angles[3] ) ; 00064 00066 void init( const TimeCorrelation &timeId, const std::vector<std::string> &files, 00067 std::string &auxiliaryFile, long timeInitMode, long timeRef, 00068 double time0, double time1 ) ; 00069 00071 MatrixModel getMatrix() const ; 00072 00074 void setMatrix( const MatrixModel &matrixModel ) ; 00075 00077 AngleModel getAngles() const ; 00078 00080 void setAngles( const AngleModel &angleModel ) ; 00081 00083 HarmonicModel getHarmonic() const ; 00084 00086 void setHarmonic( const HarmonicModel &harmModel ) ; 00087 00089 SatAttFileModel getFile() const ; 00090 00092 void setFile( const SatAttFileModel &fileModel ) ; 00093 00095 QuatPlusMatrixModel getQuatPlusMatrix() const ; 00096 00098 void setQuatPlusMatrix( const QuatPlusMatrixModel &quatPlusMatrixModel ) ; 00099 00101 QuatPlusAnglesModel getQuatPlusAngles() const ; 00102 00104 void setQuatPlusAngles( const QuatPlusAnglesModel &quatPlusAnglesModel ) ; 00105 00107 void setAzElDefinition( const AzElDefinition &azElDef ) ; 00108 00110 SatId satId() const; 00111 00112 protected: 00113 00115 GenericId* getId(); 00116 00118 void eraseObject() ; 00119 00120 private: 00121 00122 TimeCorrelation timeId; 00123 }; 00124 00125 } // closing namespace 00126 00127 #endif