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