![]() |
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: DemId.h,v 1.11 2014-02-20 20:02:33 cavm Exp $ 00007 //-------------------------------------------------------------------- 00008 00009 #ifndef DEMID_H 00010 #define DEMID_H 00011 00012 //--INCLUDE----------------------------------------------------------- 00013 #include <CfiError.h> 00014 #include <CfiId.h> 00015 #include <DemConfFile.h> 00016 #include <ModelId.h> 00017 #include <PointingData.h> 00018 #include <SatId.h> 00019 #include <string> 00020 #include <vector> 00021 00022 //--NAMESPACES-------------------------------------------------------- 00023 00024 namespace EECFI 00025 { 00029 class XP_DECL DemInfo 00030 { 00031 public: 00033 DemInfo(){}; 00034 00037 DemInfo(const DemInfo& other) : 00038 demModel(other.demModel), dataSource(other.dataSource){}; 00039 00041 ~DemInfo() NOEXCEPT{}; 00042 00045 DemInfo& operator=(const DemInfo& other) 00046 { 00047 if(this == &other) 00048 { 00049 return *this; 00050 } 00051 00052 this->demModel = other.demModel; 00053 this->dataSource = other.dataSource; 00054 00055 return *this; 00056 } 00057 00059 long demModel; // According to DemModelEnum 00060 long dataSource; // According to DemGetasseDataSourceEnum and DemAce2DataSourceEnum 00061 }; 00062 00066 class XP_DECL DemId : public CfiId 00067 { 00068 friend class Target; 00069 00070 public: 00072 DemId(); 00073 00076 DemId(const DemId& other); 00077 00079 virtual ~DemId() EXCEPT; 00080 00082 void init(long mode, long model, const std::string& demFile); 00083 00085 double compute(const ModelId& modelId, double lon, double lat) const; 00086 00088 SatId satId() const; 00089 00091 DemConfFile getData() const; 00092 00094 DemInfo getInfo(const ModelId& modelId, double lon, double lat) const; 00095 00097 void configure(const DemIdConfig& config); // AN-487 00098 00100 double getCellValue(long row, 00101 long column) const; 00102 00104 void getCellGeod(long row, 00105 long column, 00106 double& lat, 00107 double& lon) const; 00108 00111 DemId& operator=(const DemId& other); 00112 00113 protected: 00115 void eraseObject(); 00116 }; 00117 00118 } // namespace EECFI 00119 00120 #endif