OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Attributes | List of all members
ossimToolFactory Class Reference

#include <ossimToolFactory.h>

Inheritance diagram for ossimToolFactory:
ossimToolFactoryBase ossimObjectFactory ossimObject ossimReferenced

Public Member Functions

virtual ~ossimToolFactory ()
 
virtual ossimToolcreateTool (const std::string &typeName) const
 
virtual void getTypeNameList (std::vector< ossimString > &typeList) const
 
virtual void getCapabilities (std::map< std::string, std::string > &capabilities) const
 Appends map with available utilities along with descriptions as <name, description> pairs. More...
 
virtual std::map< std::string, std::string > getCapabilities () const
 
- Public Member Functions inherited from ossimToolFactoryBase
virtual ossimObjectcreateObject (const ossimString &typeName) const
 
virtual ossimObjectcreateObject (const ossimKeywordlist &kwl, const char *prefix=0) const
 
virtual ossimToolcreateTool (const ossimKeywordlist &kwl, const char *prefix=0) const
 
- Public Member Functions inherited from ossimObjectFactory
virtual ~ossimObjectFactory ()
 
- Public Member Functions inherited from ossimObject
 ossimObject ()
 
virtual ~ossimObject ()
 
virtual ossimObjectdup () const
 
virtual ossimString getShortName () const
 
virtual ossimString getLongName () const
 
virtual ossimString getDescription () const
 
virtual ossimString getClassName () const
 
virtual RTTItypeid getType () const
 
virtual bool canCastTo (ossimObject *obj) const
 
virtual bool canCastTo (const RTTItypeid &id) const
 
virtual bool canCastTo (const ossimString &parentClassName) const
 
virtual bool saveState (ossimKeywordlist &kwl, const char *prefix=0) const
 
virtual bool loadState (const ossimKeywordlist &kwl, const char *prefix=0)
 
virtual std::ostream & print (std::ostream &out) const
 Generic print method. More...
 
virtual bool isEqualTo (const ossimObject &obj, ossimCompareType compareType=OSSIM_COMPARE_FULL) const
 
virtual void accept (ossimVisitor &visitor)
 
- Public Member Functions inherited from ossimReferenced
 ossimReferenced ()
 
 ossimReferenced (const ossimReferenced &)
 
ossimReferencedoperator= (const ossimReferenced &)
 
void ref () const
 increment the reference count by one, indicating that this object has another pointer which is referencing it. More...
 
void unref () const
 decrement the reference count by one, indicating that a pointer to this object is referencing it. More...
 
void unref_nodelete () const
 decrement the reference count by one, indicating that a pointer to this object is referencing it. More...
 
int referenceCount () const
 

Static Public Member Functions

static ossimToolFactoryinstance ()
 

Protected Member Functions

 ossimToolFactory ()
 
 ossimToolFactory (const ossimToolFactory &)
 
void operator= (const ossimToolFactory &)
 
- Protected Member Functions inherited from ossimReferenced
virtual ~ossimReferenced ()
 

Static Protected Attributes

static ossimToolFactorys_Instance = 0
 

Detailed Description

Definition at line 18 of file ossimToolFactory.h.

Constructor & Destructor Documentation

◆ ~ossimToolFactory()

ossimToolFactory::~ossimToolFactory ( )
virtual

Definition at line 38 of file ossimToolFactory.cpp.

References ossimToolRegistry::instance(), and ossimFactoryListInterface< T, NativeType >::unregisterFactory().

39 {
41 }
static ossimToolRegistry * instance()
void unregisterFactory(T *factory)
Will remove the factory from the registry.

◆ ossimToolFactory() [1/2]

ossimToolFactory::ossimToolFactory ( )
protected

Definition at line 34 of file ossimToolFactory.cpp.

Referenced by instance().

35 {
36 }

◆ ossimToolFactory() [2/2]

ossimToolFactory::ossimToolFactory ( const ossimToolFactory )
inlineprotected

Definition at line 42 of file ossimToolFactory.h.

42 {}

Member Function Documentation

◆ createTool()

ossimTool * ossimToolFactory::createTool ( const std::string &  typeName) const
virtual

Implements ossimToolFactoryBase.

Definition at line 43 of file ossimToolFactory.cpp.

References ossimString::downcase().

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 }
ossimInfo class.
Definition: ossimInfo.h:36
Utility class for generating point-cloud-derived image products.

◆ getCapabilities() [1/2]

void ossimToolFactory::getCapabilities ( std::map< std::string, std::string > &  capabilities) const
virtual

Appends map with available utilities along with descriptions as <name, description> pairs.

The names are the human-readable name of the utility/service, typically the utility's class name without the "ossim" prefix nor "Tool" suffix, all lowercase.

Implements ossimToolFactoryBase.

Definition at line 89 of file ossimToolFactory.cpp.

References ossimVerticesFinderTool::DESCRIPTION, ossimBandMergeTool::DESCRIPTION, ossimInfo::DESCRIPTION, ossimHillshadeTool::DESCRIPTION, ossimHlzTool::DESCRIPTION, ossimSlopeTool::DESCRIPTION, ossimOrthoTool::DESCRIPTION, ossimShorelineTool::DESCRIPTION, ossimHdf5Tool::DESCRIPTION, ossimSubImageTool::DESCRIPTION, and ossimViewshedTool::DESCRIPTION.

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 }
static const char * DESCRIPTION
Used by ossimUtilityFactory.
static const char * DESCRIPTION
Used by ossimUtilityFactory.
Definition: ossimInfo.h:40
static const char * DESCRIPTION
Used by ossimUtilityFactory.
static const char * DESCRIPTION
Used by ossimUtilityFactory.
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 const char * DESCRIPTION
Used by ossimUtilityFactory.
static const char * DESCRIPTION
Used by ossimUtilityFactory.
static const char * DESCRIPTION
Used by ossimUtilityFactory.
static const char * DESCRIPTION
Used by ossimUtilityFactory.

◆ getCapabilities() [2/2]

std::map< std::string, std::string > ossimToolFactory::getCapabilities ( ) const
virtual

Implements ossimToolFactoryBase.

Definition at line 106 of file ossimToolFactory.cpp.

107 {
108  std::map<std::string, std::string> result;
109  getCapabilities(result);
110  return result;
111 }
virtual std::map< std::string, std::string > getCapabilities() const

◆ getTypeNameList()

void ossimToolFactory::getTypeNameList ( std::vector< ossimString > &  typeList) const
virtual

This should return the type name of all objects in all factories. This is the name used to construct the objects dynamically and this name must be unique.

Implements ossimObjectFactory.

Definition at line 113 of file ossimToolFactory.cpp.

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 }

◆ instance()

ossimToolFactory * ossimToolFactory::instance ( )
static

Definition at line 27 of file ossimToolFactory.cpp.

References ossimToolFactory(), and s_Instance.

Referenced by ossimToolRegistry::ossimToolRegistry().

28 {
29  if (!s_Instance)
31  return s_Instance;
32 }
static ossimToolFactory * s_Instance

◆ operator=()

void ossimToolFactory::operator= ( const ossimToolFactory )
inlineprotected

Definition at line 43 of file ossimToolFactory.h.

43 {}

Member Data Documentation

◆ s_Instance

ossimToolFactory * ossimToolFactory::s_Instance = 0
staticprotected

Definition at line 45 of file ossimToolFactory.h.

Referenced by instance().


The documentation for this class was generated from the following files: