![]() |
Earth Observation Mission CFI Software Pointing Software User Manual |
![]() |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.25 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 00044 SatTransId(const SatTransId& other); 00045 00047 virtual ~SatTransId() EXCEPT; 00048 00050 void init(const double angle[3]); 00051 00053 void init(const double matrix[3][3]); 00054 00056 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); 00057 00059 void init(long inertialFrame, const std::vector<AttRec>& quaternions, const double matrix[3][3]); 00060 00062 void init(long inertialFrame, const std::vector<AttRec>& quaternions, const double angles[3]); 00063 00065 void init(const TimeCorrelation& timeId, const std::vector<std::string>& files, std::string& auxiliaryFile, long timeInitMode, long timeRef, double time0, double time1); 00066 00068 MatrixModel getMatrix() const; 00069 00071 void setMatrix(const MatrixModel& matrixModel); 00072 00074 AngleModel getAngles() const; 00075 00077 void setAngles(const AngleModel& angleModel); 00078 00080 HarmonicModel getHarmonic() const; 00081 00083 void setHarmonic(const HarmonicModel& harmModel); 00084 00086 SatAttFileModel getFile() const; 00087 00089 void setFile(const SatAttFileModel& fileModel); 00090 00092 QuatPlusMatrixModel getQuatPlusMatrix() const; 00093 00095 void setQuatPlusMatrix(const QuatPlusMatrixModel& quatPlusMatrixModel); 00096 00098 QuatPlusAnglesModel getQuatPlusAngles() const; 00099 00101 void setQuatPlusAngles(const QuatPlusAnglesModel& quatPlusAnglesModel); 00102 00104 void setAzElDefinition(const AzElDefinition& azElDef); 00105 00107 SatId satId() const; 00108 00111 SatTransId& operator=(const SatTransId& other); 00112 00113 protected: 00115 void eraseObject(); 00116 00117 private: 00118 TimeCorrelation timeId; 00119 }; 00120 00121 } // namespace EECFI 00122 00123 #endif