OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimToolFactory.cpp
Go to the documentation of this file.
1 //**************************************************************************************************
2 //
3 // OSSIM Geospatial Data Processing Library
4 // See top level LICENSE.txt file for license information
5 //
6 //**************************************************************************************************
7 
11 #include <ossim/util/ossimInfo.h>
21 #if OSSIM_HAS_HDF5
23 #endif
24 
26 
28 {
29  if (!s_Instance)
31  return s_Instance;
32 }
33 
35 {
36 }
37 
39 {
41 }
42 
43 ossimTool* ossimToolFactory::createTool(const std::string& argName) const
44 {
45  ossimString utilName (argName);
46  utilName.downcase();
47 
48  if ((utilName == "info") || (argName == "ossimInfo"))
49  return new ossimInfo;
50 
51  if ((utilName == "hillshade") || (argName == "ossimHillshadeTool"))
52  return new ossimHillshadeTool;
53 
54  if ((utilName == "viewshed") || (argName == "ossimViewshedTool"))
55  return new ossimViewshedTool;
56 
57  if ((utilName == "slope") || (argName == "ossimSlopeTool"))
58  return new ossimSlopeTool;
59 
60  if ((utilName == "hlz") || (argName == "ossimHlzTool"))
61  return new ossimHlzTool;
62 
63  if ((utilName == "shoreline") || (argName == "ossimShorelineTool"))
64  return new ossimShorelineTool;
65 
66  if ((utilName == "ortho") || (argName == "ossimOrthoTool"))
67  return new ossimOrthoTool;
68 
69  if ((utilName == "vertices") || (argName == "ossimVerticesFinderTool"))
70  return new ossimVerticesFinderTool;
71 
72  if ((utilName == "bandmerge") || (argName == "ossimBandMergeTool"))
73  return new ossimBandMergeTool;
74 
75  if ((utilName == "subimage") || (argName == "ossimSubImageTool"))
76  return new ossimSubImageTool;
77 
78  if ((utilName == "pointcloud") || (argName == "ossimPointCloudTool"))
79  return new ossimPointCloudTool;
80 
81 #if OSSIM_HAS_HDF5
82  if ((utilName == "hdf5") || (argName == "ossimHdf5Tool"))
83  return new ossimHdf5Tool;
84 #endif
85 
86  return 0;
87 }
88 
89 void ossimToolFactory::getCapabilities(std::map<std::string, std::string>& capabilities) const
90 {
91  capabilities.insert(pair<string, string>("info", ossimInfo::DESCRIPTION));
92  capabilities.insert(pair<string, string>("hillshade", ossimHillshadeTool::DESCRIPTION));
93  capabilities.insert(pair<string, string>("viewshed", ossimViewshedTool::DESCRIPTION));
94  capabilities.insert(pair<string, string>("slope", ossimSlopeTool::DESCRIPTION));
95  capabilities.insert(pair<string, string>("hlz", ossimHlzTool::DESCRIPTION));
96  capabilities.insert(pair<string, string>("shoreline", ossimShorelineTool::DESCRIPTION));
97  capabilities.insert(pair<string, string>("ortho", ossimOrthoTool::DESCRIPTION));
98  capabilities.insert(pair<string, string>("vertices", ossimVerticesFinderTool::DESCRIPTION));
99  capabilities.insert(pair<string, string>("bandmerge", ossimBandMergeTool::DESCRIPTION));
100  capabilities.insert(pair<string, string>("subimage", ossimSubImageTool::DESCRIPTION));
101 #if OSSIM_HAS_HDF5
102  capabilities.insert(pair<string, string>("hdf5", ossimHdf5Tool::DESCRIPTION));
103 #endif
104 }
105 
106 std::map<std::string, std::string> ossimToolFactory::getCapabilities() const
107 {
108  std::map<std::string, std::string> result;
109  getCapabilities(result);
110  return result;
111 }
112 
113 void ossimToolFactory::getTypeNameList(vector<ossimString>& typeList) const
114 {
115  typeList.push_back("ossimInfo");
116  typeList.push_back("ossimHillshadeUtil");
117  typeList.push_back("ossimViewshedUtil");
118  typeList.push_back("ossimSlopeUtil");
119  typeList.push_back("ossimHLZUtil");
120  typeList.push_back("ossimShorelineUtil");
121  typeList.push_back("ossimOrthoUtil");
122  typeList.push_back("ossimVerticesFinderUtil");
123  typeList.push_back("ossimBandMergeUtil");
124  typeList.push_back("ossimSubImageTool");
125 #if OSSIM_HAS_HDF5
126  typeList.push_back("ossimHdf5Tool");
127 #endif
128 }
129 
static const char * DESCRIPTION
Used by ossimUtilityFactory.
virtual std::map< std::string, std::string > getCapabilities() const
static const char * DESCRIPTION
Used by ossimUtilityFactory.
Definition: ossimInfo.h:40
static ossimToolFactory * instance()
virtual ossimTool * createTool(const std::string &typeName) const
static ossimToolFactory * s_Instance
static const char * DESCRIPTION
Used by ossimUtilityFactory.
virtual ~ossimToolFactory()
static const char * DESCRIPTION
Used by ossimUtilityFactory.
virtual void getTypeNameList(std::vector< ossimString > &typeList) const
static const char * DESCRIPTION
Used by ossimUtilityFactory.
Definition: ossimHdf5Tool.h:57
static const char * DESCRIPTION
Used by ossimUtilityFactory.
static const char * DESCRIPTION
Used by ossimUtilityFactory.
Definition: ossimHlzTool.h:50
static ossimToolRegistry * instance()
void unregisterFactory(T *factory)
Will remove the factory from the registry.
static const char * DESCRIPTION
Used by ossimUtilityFactory.
static ossimString downcase(const ossimString &aString)
Definition: ossimString.cpp:48
static const char * DESCRIPTION
Used by ossimUtilityFactory.
static const char * DESCRIPTION
Used by ossimUtilityFactory.
static const char * DESCRIPTION
Used by ossimUtilityFactory.
ossimInfo class.
Definition: ossimInfo.h:36
Utility class for generating point-cloud-derived image products.