VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtCDBDatasets.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2016 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 #pragma once
10 
11 #include "DtCDBExport.h"
12 #include <OpenThreads/Mutex>
13 #include <osgDB/XmlParser>
14 #include <string>
15 #include <map>
16 
17 namespace makVrv { namespace oe { namespace CDB
18 {
19  class SubCode
20  {
21  public:
22  SubCode(const std::string& label) :myLabel(label){};
23  ~SubCode(){};
24  std::string myLabel;
25  };
26 
28  {
29  public:
31  FeatureType(const std::string& label) :myLabel(label){};
33  std::string myLabel;
34  std::map<std::string, SubCode > mySubCodes;
35  };
36 
38  {
39  public:
42  std::string myLabel;
43  std::map<std::string, FeatureType > myFeatureTypes;
44  };
45 
46  class Category
47  {
48  public:
49  Category() {};
50  ~Category() {};
51  std::string myLabel;
52  std::map<std::string, SubCategory > mySubCategories;
53  };
54 
55 
57  class Facc
58  {
59  public:
60  Facc() {};
61  ~Facc() {};
62  std::string myFaccPath;
63  std::map<std::string, std::string > myFscLabel; // <Fsc code, Label>
64  };
65 
70  {
71  public:
72 
73  static CDBDatasets* instance();
74 
76  static const int theDatasetCodeElevation;
80  static const int theDatasetCodeMaxCulture;
82  static const int theDatasetCodeImagery;
84  static const int theDatasetCodeRMTexture;
86  static const int theDatasetCodeRMDescriptor;
88  static const int theDatasetCodeGsFeature;
90  static const int theDatasetCodeGtFeature;
92  static const int theDatasetCodeGeoPolitical;
94  static const int theDatasetCodeVectorMaterial;
96  static const int theDatasetCodeRoadNetwork;
122  static const int theDatasetCodeGSModelCMT;
126  static const int theDatasetCodeNavData;
128  static const int theDatasetCodeNavigation;
140  static const int theDatasetCodeGTModelCMT;
160  static const int theDatasetCodeMModelTexture;
166  static const int theDatasetCodeMModelCMT;
169 
171  static const std::string theFileExtensionTif;
173  static const std::string theFileExtensionJp2;
175  static const std::string theFileExtensionShp;
177  static const std::string theFileExtensionDbf;
179  static const std::string theFileExtensionXml;
181  static const std::string theFileExtensionFlt;
183  static const std::string theFileExtensionRgb;
185  static const std::string theFileExtensionZip;
186 
188  static const std::string theGTGeometryFolder;
189 
192 
194  std::string gtModelGeometrySubFolder(const std::string& FACC) const;
195 
197  std::string gtModelGeometryFilename(const std::string& FACC, const std::string& FSC, const std::string& modelName) const;
198 
200  std::string datasetFolder(int DatasetCode) const;
201 
203  std::string datasetFileExtension(int DatasetCode) const;
204 
205  private:
206 
207 
209  CDBDatasets();
210 
212  CDBDatasets(CDBDatasets const&);
213 
215  CDBDatasets& operator=(CDBDatasets const&);
216 
218  void loadFeatureDataDictionary();
219 
221  void loadDatasetDictionary();
222 
224  void addDatasetFileExtension();
225 
228 
230  static OpenThreads::Mutex myMutex;
231 
233  static const std::string theFeature_Data_DictionaryFilename;
234 
236  static const std::string theDatasets_DictionaryFilename;
237 
239  //std::map<std::string, Category > myCategories;
240 
242  std::map<std::string, Facc > myFaccDict;
243 
245  std::map<int, std::string> myDatasetFolder;
246 
248  std::map<int, std::string> myDatasetFileExtension;
249 
250  };
251 
252 } } } // namespace mak::osgEarth::CDB
253 

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)