![]() |
Earth Explorer Mission CFI Software Visibility Software User Manual |
![]() |
00001 //-------------------------------------------------------------------- 00002 // CVS Info: $Id: VisibilityData.h,v 1.5 2009/04/13 13:50:28 expcfi Exp $ 00003 //-------------------------------------------------------------------- 00004 00009 00010 #ifndef __EECFI_VISIBILITYDATA__ 00011 #define __EECFI_VISIBILITYDATA__ 00012 00013 //--INCLUDE----------------------------------------------------------- 00014 #include "DataHandlingData.h" 00015 #include "LibData.h" 00016 #include "OrbitData.h" 00017 #include "PointingData.h" 00018 #include "ANXTime.h" 00019 00020 //--NAMESPACES-------------------------------------------------------- 00021 using namespace std; 00022 00023 namespace EECFI 00024 { 00025 //------------------------------------------------------ 00026 // CONSTANT DATA 00027 //------------------------------------------------------ 00028 00029 //------------------------------------------------------ 00030 // DATA ENUMERATION 00031 // Enumeration values are defined in an equivalent way to the C library 00032 // except for the prefix that has been changed from XX_ to XXCFI_ 00033 //------------------------------------------------------ 00034 00036 typedef enum 00037 { 00038 XVCFI_ORBIT_ABS = 0, 00039 XVCFI_ORBIT_REL = 1 00040 } OrbitTypeEnum; 00041 00043 typedef enum 00044 { 00045 XVCFI_STF = 0, 00046 XVCFI_SDF = 1 00047 } SwathTypeEnum; 00048 00050 typedef enum 00051 { 00052 XVCFI_COMPLETE = 0, 00053 XVCFI_LEFT = 1, 00054 XVCFI_RIGHT = 2, 00055 XV_BOTH = 3 00056 } CoverageEnum; 00057 00059 typedef enum 00060 { 00061 XVCFI_COMBINE = 0, 00062 XVCFI_AOS_LOS = 1, 00063 XVCFI_PHYSICAL = 2 00064 } MaskEnum; 00065 00067 typedef enum 00068 { 00069 XVCFI_STAR_UNDEFINED = 0, 00070 XVCFI_STAR_UPPER = 1, 00071 XVCFI_STAR_LOWER = 2, 00072 XVCFI_STAR_LEFT = 3, 00073 XVCFI_STAR_RIGHT = 4 00074 } CoverageStarEnum; 00075 00077 typedef enum 00078 { 00079 XVCFI_ASCENDING = 0, 00080 XVCFI_DESDENDING = 1 00081 } TimeSegmentsOrbitDirectionEnum; 00082 00084 typedef enum 00085 { 00086 XVCFI_NO_VIS = -1, 00087 XVCFI_ZONE_VIS = 0, 00088 XVCFI_STATION_VIS = 1, 00089 XVCFI_MULTI_ZONES_VIS = 2, 00090 XVCFI_MULTI_STATIONS_VIS = 3, 00091 XVCFI_MAPPING_VIS = 4, 00092 XVCFI_DRS_VIS = 5, 00093 XVCFI_STAR_VIS = 6 00094 } VisibilityTypeEnum; 00095 00097 typedef enum 00098 { 00099 XVCFI_SAT_DEFAULT = XLCFI_SAT_DEFAULT, 00100 XVCFI_SAT_DEFAULT1 = XLCFI_SAT_DEFAULT1, 00101 XVCFI_SAT_DEFAULT2 = XLCFI_SAT_DEFAULT2, 00102 XVCFI_SAT_DEFAULT3 = XLCFI_SAT_DEFAULT3, 00103 XVCFI_SAT_DEFAULT4 = XLCFI_SAT_DEFAULT4, 00104 XVCFI_SAT_DEFAULT5 = XLCFI_SAT_DEFAULT5, 00105 XVCFI_SAT_DEFAULT6 = XLCFI_SAT_DEFAULT6, 00106 XVCFI_SAT_DEFAULT7 = XLCFI_SAT_DEFAULT7, 00107 XVCFI_SAT_DEFAULT8 = XLCFI_SAT_DEFAULT8, 00108 XVCFI_SAT_DEFAULT9 = XLCFI_SAT_DEFAULT9, 00109 XVCFI_SAT_ERS1 = XLCFI_SAT_ERS1, 00110 XVCFI_SAT_ERS2 = XLCFI_SAT_ERS2, 00111 XVCFI_SAT_ENVISAT = XLCFI_SAT_ENVISAT, 00112 XVCFI_SAT_METOP1 = XLCFI_SAT_METOP1, 00113 XVCFI_SAT_METOP2 = XLCFI_SAT_METOP2, 00114 XVCFI_SAT_METOP3 = XLCFI_SAT_METOP3, 00115 XVCFI_SAT_CRYOSAT = XLCFI_SAT_CRYOSAT, 00116 XVCFI_SAT_ADM = XLCFI_SAT_ADM, 00117 XVCFI_SAT_GOCE = XLCFI_SAT_GOCE, 00118 XVCFI_SAT_SMOS = XLCFI_SAT_SMOS, 00119 XVCFI_SAT_TERRASAR = XLCFI_SAT_TERRASAR, 00120 XVCFI_SAT_EARTHCARE = XLCFI_SAT_EARTHCARE, 00121 XVCFI_SAT_SWARM_A = XLCFI_SAT_SWARM_A, 00122 XVCFI_SAT_SWARM_B = XLCFI_SAT_SWARM_B, 00123 XVCFI_SAT_SWARM_C = XLCFI_SAT_SWARM_C, 00124 XVCFI_SAT_SENTINEL_1A = XLCFI_SAT_SENTINEL_1A, 00125 XVCFI_SAT_SENTINEL_1B = XLCFI_SAT_SENTINEL_1B 00126 } SatIdVisibilityEnum; 00127 00128 //------------------------------------------------------ 00129 // DATA STRUCTURES 00130 //------------------------------------------------------ 00132 class VisExtraInfo 00133 { 00134 // No atributes 00135 }; 00136 00138 class ZoneExtraInfo : public VisExtraInfo 00139 { 00140 public: 00141 00142 long coverage; 00143 }; 00144 00146 class StationExtraInfo : public VisExtraInfo 00147 { 00148 public: 00149 00150 // Zero doppler segments ( ONLY used in stationVisTime ). 00151 ANXTime zdop; 00152 }; 00153 00155 class MultiZonesExtraInfo : public VisExtraInfo 00156 { 00157 public: 00158 00159 long numberOfZones; 00160 vector<long> zonesInSegment; 00161 vector<long> multiCoverage; 00162 }; 00163 00165 class MultiStationsExtraInfo : public VisExtraInfo 00166 { 00167 public: 00168 00169 long numberOfStations; 00170 vector<long> stationsInSegment; 00171 vector<ANXTime> multiZdop; 00172 }; 00173 00175 class MappingExtraInfo : public VisExtraInfo 00176 { 00177 public: 00178 00179 long coverage; 00180 long direction; 00181 }; 00182 00184 class StarExtraInfo : public VisExtraInfo 00185 { 00186 public: 00187 00188 long startCoverage; 00189 long stopCoverage; 00190 }; 00191 00193 class OrbitExtraInfo 00194 { 00195 public: 00196 vector<double> szaUp; 00197 vector<double> szaDown; 00198 double eclipseEntry; 00199 double eclipseExit; 00200 double sunMoonEntry; 00201 double sunMoonExit; 00202 }; 00203 00205 class ScfAppear 00206 { 00207 public: 00208 long colour; 00209 long draw; 00210 long fill; 00211 long opacity; 00212 }; 00213 00214 } // closing namespace 00215 00216 #endif