![]() |
Earth Observation Mission CFI Software DataHandling Software User Manual |
![]() |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.21 00003 //-------------------------------------------------------- 00004 00005 #ifndef _AEMFILE_H 00006 #define _AEMFILE_H 00007 00008 //-INCLUDE--------------------------------------------- 00009 #include <CfiError.h> 00010 #include <DataHandlingData.h> 00011 #include <EEFile.h> 00012 #include <string> 00013 #include <vector> 00014 00015 //-NAMESPACES------------------------------------------ 00016 using namespace std; 00017 00018 namespace EECFI 00019 { 00023 class XD_DECL AemMetadata 00024 { 00025 public: 00026 // Attributes 00027 string comment; 00028 string objectName; 00029 string objectId; 00030 string centerName; 00031 string refFrameA; 00032 string refFrameB; 00033 string attitudeDir; 00034 string timeSystem; 00035 string startTime; 00036 string useableStartTime; 00037 string useableStopTime; 00038 string stopTime; 00039 string attitudeType; 00040 string quaternionType; 00041 string eulerRotSeq; 00042 string rateFrame; 00043 string interpolation; 00044 string interpolationDegree; 00045 00046 }; //class AemMetadata 00047 00051 class XD_DECL AemAttRec 00052 { 00053 public: 00054 // Attributes 00055 long dataType; // data type XD_Attitude_data_type_enum 00056 long timeRef; 00057 double time; 00058 double data[8]; 00059 }; //class AemAttRec 00060 00064 class XD_DECL AemSegment 00065 { 00066 public: 00067 // Attributes 00068 AemMetadata metadata; 00069 vector<AemAttRec> attitude; 00070 00071 // Destructor 00072 ~AemSegment() NOEXCEPT 00073 { 00074 attitude.clear(); 00075 } //end destructor 00076 00077 }; //class AemSegment 00078 00082 class XD_DECL AemFile : public EEFile 00083 { 00084 public: 00085 // Attributes 00086 string ccsdsAemVers; 00087 string commentHeader; 00088 string creationDate; 00089 string originator; 00090 00091 // AEM METADATA 00092 vector<AemSegment> segment; 00093 00095 AemFile(); 00096 00098 explicit AemFile(const string& fileNam); 00099 00101 ~AemFile() NOEXCEPT; 00102 00104 void read(); 00105 00106 protected: 00107 private: 00108 }; //class AemFile 00109 00110 } //namespace EECFI 00111 00112 #endif