Earth Observation Mission CFI Software Pointing Software User Manual |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.20 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 <AttRec.h> 00014 #include <CfiError.h> 00015 #include <CfiId.h> 00016 #include <DataHandlingData.h> 00017 #include <PointingData.h> 00018 #include <SatId.h> 00019 #include <TimeCorrelation.h> 00020 #include <string> 00021 #include <vector> 00022 00023 //--NAMESPACES-------------------------------------------------------- 00024 00025 namespace EECFI 00026 { 00030 class XP_DECL SatTransId : public CfiId 00031 { 00032 friend class Attitude; 00033 friend class Swath; 00034 friend class SwathId; // AN-505 00035 friend class AttitudeDef; // AN-526 00036 friend struct GenericInternals<SatTransId>; // AN-823 00037 00038 public: 00040 SatTransId(); 00041 00043 ~SatTransId() EXCEPT; 00044 00046 void init(const double angle[3]); 00047 00049 void init(const double matrix[3][3]); 00050 00052 void init(long angleType, const std::vector<long>& harmTypePitch, const std::vector<long>& harmTypeRoll, const std::vector<long>& harmTypeYaw, const std::vector<double>& harmCoeffPitch, const std::vector<double>& harmCoeffRoll, const std::vector<double>& harmCoeffYaw); 00053 00055 void init(long inertialFrame, const std::vector<AttRec>& quaternions, const double matrix[3][3]); 00056 00058 void init(long inertialFrame, const std::vector<AttRec>& quaternions, const double angles[3]); 00059 00061 void init(const TimeCorrelation& timeId, const std::vector<std::string>& files, std::string& auxiliaryFile, long timeInitMode, long timeRef, double time0, double time1); 00062 00064 MatrixModel getMatrix() const; 00065 00067 void setMatrix(const MatrixModel& matrixModel); 00068 00070 AngleModel getAngles() const; 00071 00073 void setAngles(const AngleModel& angleModel); 00074 00076 HarmonicModel getHarmonic() const; 00077 00079 void setHarmonic(const HarmonicModel& harmModel); 00080 00082 SatAttFileModel getFile() const; 00083 00085 void setFile(const SatAttFileModel& fileModel); 00086 00088 QuatPlusMatrixModel getQuatPlusMatrix() const; 00089 00091 void setQuatPlusMatrix(const QuatPlusMatrixModel& quatPlusMatrixModel); 00092 00094 QuatPlusAnglesModel getQuatPlusAngles() const; 00095 00097 void setQuatPlusAngles(const QuatPlusAnglesModel& quatPlusAnglesModel); 00098 00100 void setAzElDefinition(const AzElDefinition& azElDef); 00101 00103 SatId satId() const; 00104 00106 void operator=(const SatTransId& satTransIdIn); // AN-872 00107 00108 protected: 00110 void eraseObject(); 00111 00113 GenericId* getId() const; 00114 00115 private: 00116 TimeCorrelation timeId; 00117 }; 00118 00119 } // namespace EECFI 00120 00121 #endif