OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimDemTool.h
Go to the documentation of this file.
1 //**************************************************************************************************
2 //
3 // OSSIM Open Source Geospatial Data Processing Library
4 // See top level LICENSE.txt file for license information
5 //
6 //**************************************************************************************************
7 
8 #ifndef ossimDemTool_HEADER
9 #define ossimDemTool_HEADER 1
10 
13 #include <ossim/base/ossimRefPtr.h>
14 #include <ossim/util/ossimTool.h>
15 #include <ossim/reg/PhotoBlock.h>
16 #include <memory>
17 
19 {
20 public:
21  enum Algorithm { ALGO_UNASSIGNED=0, ASP, OMG };
22  enum Method { METHOD_UNASSIGNED=0, GET_ALGO_LIST, GET_PARAMS, GENERATE };
23  enum Units { UNITS_UNASSIGNED=0, METERS, DEGREES };
24 
25  static const char* DESCRIPTION;
26 
27  ossimDemTool();
28 
29  ~ossimDemTool() override;
30 
31  void setUsage(ossimArgumentParser& ap) override;
32 
33  bool initialize(ossimArgumentParser& ap) override;
34 
35  bool execute() override;
36 
37  ossimString getClassName() const override { return "ossimDemTool"; }
38 
39  void getKwlTemplate(ossimKeywordlist& kwl) override;
40 
41  void loadJSON(const Json::Value& json) override;
42 
43  void saveJSON(Json::Value& json) const override { json = m_responseJSON; }
44 
45 private:
46  void getAlgorithms();
47  void getParameters();
48 
49  void doASP();
50  void doOMG();
51 
53  bool m_verbose;
56  Json::Value m_responseJSON;
57  std::shared_ptr<ossim::PhotoBlock> m_photoBlock;
59  double m_postSpacing;
61  Json::Value m_parameters;
62  Json::Value m_atpParameters;
63 };
64 
65 #endif /* #ifndef ossimDemTool_HEADER */
ossimFilename m_outputDemFile
Definition: ossimDemTool.h:58
ossimString getClassName() const override
Definition: ossimDemTool.h:37
Represents serializable keyword/value map.
virtual void loadJSON(const Json::Value &json_request)
Reads processing params from JSON object provided.
Definition: ossimTool.h:52
void saveJSON(Json::Value &json) const override
Fetch product as JSON object when applicable Always returns true since using exception on error...
Definition: ossimDemTool.h:43
virtual void getKwlTemplate(ossimKeywordlist &kwl)
Assigns a template keywordlist to string for initializing derived classes.
Definition: ossimTool.cpp:100
Json::Value m_responseJSON
Definition: ossimDemTool.h:56
Units m_postSpacingUnits
Definition: ossimDemTool.h:60
double m_postSpacing
Definition: ossimDemTool.h:59
virtual void setUsage(ossimArgumentParser &ap)
Initializes the aurgument parser with expected parameters and options.
Definition: ossimTool.cpp:41
Json::Value m_parameters
Definition: ossimDemTool.h:61
virtual bool initialize(ossimArgumentParser &ap)
Initializes from command line arguments.
Definition: ossimTool.cpp:58
virtual bool execute()=0
Writes product to output file if applicable.
Method m_method
Definition: ossimDemTool.h:55
Algorithm m_algorithm
Definition: ossimDemTool.h:54
#define OSSIM_DLL
Json::Value m_atpParameters
Definition: ossimDemTool.h:62
std::ostream * m_outputStream
Definition: ossimDemTool.h:52
static const char * DESCRIPTION
Definition: ossimDemTool.h:25
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23
std::shared_ptr< ossim::PhotoBlock > m_photoBlock
Definition: ossimDemTool.h:57