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
ossimMiscProjectionFactory Class Reference

#include <ossimMiscProjectionFactory.h>

Inheritance diagram for ossimMiscProjectionFactory:
ossimProjectionFactoryBase ossimObjectFactory ossimObject ossimReferenced

Public Member Functions

virtual ossimProjectioncreateProjection (const ossimFilename &filename, ossim_uint32 entryIdx) const
 
virtual ossimProjectioncreateProjection (const ossimString &name) const
 Take a projection type name. More...
 
virtual ossimProjectioncreateProjection (const ossimKeywordlist &kwl, const char *prefix=0) const
 Take a keywordlist. More...
 
virtual ossimObjectcreateObject (const ossimString &typeName) const
 
virtual ossimObjectcreateObject (const ossimKeywordlist &kwl, const char *prefix=0) const
 
virtual void getTypeNameList (std::vector< ossimString > &typeList) const
 
- Public Member Functions inherited from ossimProjectionFactoryBase
virtual ossimProjectioncreateProjection (ossimImageHandler *handler) 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 ossimMiscProjectionFactoryinstance ()
 

Protected Member Functions

 ossimMiscProjectionFactory ()
 
- Protected Member Functions inherited from ossimProjectionFactoryBase
ossimProjectioncreateProjectionFromGeometryFile (const ossimFilename &imageFile, ossim_uint32 entryIdx) const
 This method takes the filename and tries to find an external ".geom" file. More...
 
- Protected Member Functions inherited from ossimReferenced
virtual ~ossimReferenced ()
 

Static Protected Attributes

static ossimMiscProjectionFactorytheInstance = 0
 

Detailed Description

Definition at line 24 of file ossimMiscProjectionFactory.h.

Constructor & Destructor Documentation

◆ ossimMiscProjectionFactory()

ossimMiscProjectionFactory::ossimMiscProjectionFactory ( )
inlineprotected

Definition at line 60 of file ossimMiscProjectionFactory.h.

Referenced by instance().

60 {}

Member Function Documentation

◆ createObject() [1/2]

ossimObject * ossimMiscProjectionFactory::createObject ( const ossimString typeName) const
virtual

Creates an object given a type name.

Implements ossimObjectFactory.

Definition at line 156 of file ossimMiscProjectionFactory.cpp.

References createProjection().

157 {
158  return createProjection(typeName);
159 }
virtual ossimProjection * createProjection(const ossimFilename &filename, ossim_uint32 entryIdx) const

◆ createObject() [2/2]

ossimObject * ossimMiscProjectionFactory::createObject ( const ossimKeywordlist kwl,
const char *  prefix = 0 
) const
virtual

Creates and object given a keyword list.

Implements ossimObjectFactory.

Definition at line 165 of file ossimMiscProjectionFactory.cpp.

References createProjection().

167 {
168  return createProjection(kwl, prefix);
169 }
virtual ossimProjection * createProjection(const ossimFilename &filename, ossim_uint32 entryIdx) const

◆ createProjection() [1/3]

ossimProjection * ossimMiscProjectionFactory::createProjection ( const ossimFilename filename,
ossim_uint32  entryIdx 
) const
virtual

METHOD: create() Attempts to create an instance of the projection specified by name. Returns successfully constructed projection or NULL.

Implements ossimProjectionFactoryBase.

Definition at line 59 of file ossimMiscProjectionFactory.cpp.

References ossimProjectionFactoryBase::createProjectionFromGeometryFile().

Referenced by createObject(), and createProjection().

61 {
62  // Check for external geometry file.
63  return createProjectionFromGeometryFile(filename, entryIdx);
64 }
ossimProjection * createProjectionFromGeometryFile(const ossimFilename &imageFile, ossim_uint32 entryIdx) const
This method takes the filename and tries to find an external ".geom" file.

◆ createProjection() [2/3]

ossimProjection * ossimMiscProjectionFactory::createProjection ( const ossimString name) const
virtual

Take a projection type name.

Implements ossimProjectionFactoryBase.

Definition at line 115 of file ossimMiscProjectionFactory.cpp.

References STATIC_TYPE_NAME.

116 {
117  //***
118  // ADD_PROJECTION: Test for each map projection here:
119  //***
121  {
122  return new ossimSonomaSensor;
123  }
125  {
126  return new ossimAffineProjection;
127  }
129  {
130  return new ossimBilinearProjection;
131  }
133  {
134  return new ossimQuadProjection;
135  }
137  {
138  return new ossimRpcProjection;
139  }
141  {
142  return new ossimWarpProjection;
143  }
145  {
146  return new ossimPolynomProjection;
147  }
148 
149  return NULL;
150 }
#define STATIC_TYPE_NAME(T)
Definition: ossimRtti.h:325
class for ground to image polynomial projection: (x,y,z)|->(x,y) polynom order is configurable ...

◆ createProjection() [3/3]

ossimProjection * ossimMiscProjectionFactory::createProjection ( const ossimKeywordlist kwl,
const char *  prefix = 0 
) const
virtual

Take a keywordlist.

Implements ossimProjectionFactoryBase.

Definition at line 71 of file ossimMiscProjectionFactory.cpp.

References ossimKeywordlist::addFile(), createProjection(), ossimKeywordlist::find(), ossimProjection::loadState(), and ossimKeywordNames::TYPE_KW.

73 {
74  ossimProjection *result=NULL;
75 
76  const char *lookup = kwl.find(prefix, ossimKeywordNames::TYPE_KW);
77 
78  if(lookup)
79  {
80  result = createProjection(ossimString(lookup).trim());
81  if(result)
82  {
83  result->loadState(kwl, prefix);
84  }
85  }
86  else
87  {
88  // look for the geom_file keyword.
89  //
90  lookup = kwl.find(prefix, "geom_file");
91  if(lookup)
92  {
93  ossimKeywordlist kwl2;
94 
95  kwl2.addFile(lookup);
96 
97  result = createProjection(kwl2, "projection.");
98  // maybe they did not prepend projection. in the pro
99  // file.
100  if(!result)
101  {
102  result = createProjection(kwl2);
103  }
104 
105  }
106  }
107  return result;
108 }
Represents serializable keyword/value map.
bool addFile(const char *file)
const char * find(const char *key) const
static const char * TYPE_KW
virtual ossimProjection * createProjection(const ossimFilename &filename, ossim_uint32 entryIdx) const
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)

◆ getTypeNameList()

void ossimMiscProjectionFactory::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 dynamially and this name must be unique.

Implements ossimObjectFactory.

Definition at line 174 of file ossimMiscProjectionFactory.cpp.

References STATIC_TYPE_NAME.

175 {
176  typeList.push_back(ossimString(STATIC_TYPE_NAME(ossimSonomaSensor)));
177  typeList.push_back(ossimString(STATIC_TYPE_NAME(ossimAffineProjection)));
179  typeList.push_back(ossimString(STATIC_TYPE_NAME(ossimRpcProjection)));
180  typeList.push_back(ossimString(STATIC_TYPE_NAME(ossimQuadProjection)));
181  typeList.push_back(ossimString(STATIC_TYPE_NAME(ossimWarpProjection)));
183 }
#define STATIC_TYPE_NAME(T)
Definition: ossimRtti.h:325
class for ground to image polynomial projection: (x,y,z)|->(x,y) polynom order is configurable ...

◆ instance()

ossimMiscProjectionFactory * ossimMiscProjectionFactory::instance ( )
static

METHOD: instance() Instantiates singleton instance of this class:

Definition at line 48 of file ossimMiscProjectionFactory.cpp.

References ossimMiscProjectionFactory(), and theInstance.

Referenced by ossimProjectionFactoryRegistry::initializeDefaults().

Member Data Documentation

◆ theInstance

ossimMiscProjectionFactory * ossimMiscProjectionFactory::theInstance = 0
staticprotected

Definition at line 61 of file ossimMiscProjectionFactory.h.

Referenced by instance().


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