OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimDatumFactory.h
Go to the documentation of this file.
1 //*******************************************************************
2 //
3 // License: See top level LICENSE.txt file.
4 //
5 // Author: Garrett Potts
6 //
7 // Description:
8 //
9 // This is the DatumFactory class. You give it a code and it will
10 // construct a Datum class. It returns NULL if no code was found.
11 //*******************************************************************
12 // $Id: ossimDatumFactory.h 22851 2014-08-05 12:02:55Z gpotts $
13 
14 #ifndef ossimDatumFactory_HEADER
15 #define ossimDatumFactory_HEADER 1
16 
19 #include <map>
20 #include <string>
21 #include <vector>
22 
23 class ossimFilename;
24 class ossimDatum;
25 class ossimWgs84Datum;
26 class ossimWgs72Datum;
27 class ossimString;
28 
30 {
31 public:
32 
34  virtual ~ossimDatumFactory();
35 
43  virtual const ossimDatum* create(const ossimString &code)const;
44  virtual const ossimDatum* create(const ossimKeywordlist& kwl, const char *prefix=0)const;
45 
46  const ossimDatum* create(const ossimDatum* copy) const;
47 
48  static ossimDatumFactory* instance();
49  const ossimDatum* wgs84()const{return theWgs84Datum;}
50  const ossimDatum* wgs72()const{return theWgs72Datum;}
51  std::vector<ossimString> getList()const;
52  virtual void getList(std::vector<ossimString>& list)const;
53  void writeCStructure(const ossimFilename& file);
54 protected:
55  // static ossimDatumFactory* theInstance;
58  std::map<std::string, const ossimDatum*> theDatumTable;
59 
60 
62 
63  void deleteAll();
64  void initializeDefaults();
65 };
66 #endif
Represents serializable keyword/value map.
const ossimDatum * theWgs84Datum
const ossimDatum * wgs72() const
virtual void getList(std::vector< ossimString > &list) const =0
Pure virtual getList method.
virtual const ossimDatum * create(const ossimString &code) const =0
Pure virtual create method.
const ossimDatum * theWgs72Datum
std::map< std::string, const ossimDatum * > theDatumTable
#define OSSIM_DLL
const ossimDatum * wgs84() const