Earth Observation Mission CFI Software Pointing Software User Manual |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.18 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 <vector> 00014 #include <string> 00015 00016 #include "PointingData.h" 00017 #include "CfiError.h" 00018 #include "CfiId.h" 00019 #include "SatId.h" 00020 #include "ModelId.h" 00021 #include "DemConfFile.h" 00022 00023 //--NAMESPACES-------------------------------------------------------- 00024 00025 namespace EECFI 00026 { 00030 class XP_DECL DemInfo 00031 { 00032 public: 00033 00035 DemInfo(){}; 00036 00038 ~DemInfo() NOEXCEPT {}; 00039 00041 long demModel; // According to DemModelEnum 00042 long dataSource; // According to DemGetasseDataSourceEnum and DemAce2DataSourceEnum 00043 00044 }; 00045 00049 class XP_DECL DemId: public CfiId 00050 { 00051 friend class Target; 00052 00053 public: 00054 00056 DemId(); 00057 00059 ~DemId() EXCEPT; 00060 00062 void init( long mode, long model, const std::string &demFile ) ; 00063 00065 double compute( const ModelId &modelId, double lon, double lat ) const ; 00066 00068 SatId satId() const; 00069 00071 DemConfFile getData() const ; 00072 00074 DemInfo getInfo(const ModelId &modelId, double lon, double lat ) const ; 00075 00077 void configure(const DemIdConfig &config) ; // AN-487 00078 00080 double getCellValue(long row, 00081 long column) const ; 00082 00084 void getCellGeod(long row, 00085 long column, 00086 double &lat, 00087 double &lon) const ; 00088 protected: 00089 00091 GenericId* getId(); 00092 00093 private: 00094 00095 }; 00096 00097 } // closing namespace 00098 00099 #endif