VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties 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 <osgDB/XmlParser>
13 #include <string>
14 #include <map>
15 
17 
18 namespace makVrv { namespace oe { namespace CDB
19 {
21  // (ex: <Subcode code="000"> ...)
22  class SubCode
23  {
24  public:
25  SubCode(const std::string& label) :myLabel(label){};
26  ~SubCode(){};
27  std::string myLabel;
28  };
29 
31  // (ex: <Feature_Type code="010"> ...)
33  {
34  public:
36  FeatureType(const std::string& label) :myLabel(label){};
38  std::string myLabel;
39  std::map<std::string, SubCode > mySubCodes;
40  };
41 
43  // (ex: <Subcategory code="A"> ...)
45  {
46  public:
49  std::string myLabel;
50  std::map<std::string, FeatureType > myFeatureTypes;
51  };
52 
54  // (ex: <Category code="A"> ...)
55  class Category
56  {
57  public:
58  Category() {};
59  ~Category() {};
60  std::string myLabel;
61  std::map<std::string, SubCategory > mySubCategories;
62  };
63 
64 
66  class Facc
67  {
68  public:
69  Facc() {};
70  ~Facc() {};
71  std::string myFaccPath;
72  std::map<std::string, std::string > myFscLabel; // <Fsc code, Label>
73  };
74 
79  {
80  public:
81 
83  static CDBDatasets* instance();
85  static const int theDatasetCodeElevation;
89  static const int theDatasetCodeMaxCulture;
91  static const int theDatasetCodeImagery;
93  static const int theDatasetCodeRMTexture;
95  static const int theDatasetCodeRMDescriptor;
97  static const int theDatasetCodeGsFeature;
99  static const int theDatasetCodeGtFeature;
101  static const int theDatasetCodeGeoPolitical;
105  static const int theDatasetCodeRoadNetwork;
131  static const int theDatasetCodeGSModelCMT;
135  static const int theDatasetCodeNavData;
137  static const int theDatasetCodeNavigation;
149  static const int theDatasetCodeGTModelCMT;
169  static const int theDatasetCodeMModelTexture;
175  static const int theDatasetCodeMModelCMT;
179  static const int theDatasetCodeExtImagery;
180 
182  static const std::string theFileExtensionTif;
184  static const std::string theFileExtensionJp2;
186  static const std::string theFileExtensionShp;
188  static const std::string theFileExtensionDbf;
190  static const std::string theFileExtensionXml;
192  static const std::string theFileExtensionFlt;
194  static const std::string theFileExtensionRgb;
196  static const std::string theFileExtensionZip;
197 
199  static const std::string theGTGeometryFolder;
200 
203 
205  std::string gtModelGeometrySubFolder(const std::string& FACC) const;
206 
208  std::string gtModelGeometryFilename(const std::string& FACC, const std::string& FSC, const std::string& modelName) const;
209 
211  std::string datasetFolder(int DatasetCode) const;
212 
214  std::string datasetFileExtension(int DatasetCode) const;
215 
216  private:
217 
218 
220  CDBDatasets();
221 
223  CDBDatasets(CDBDatasets const&);
224 
226  CDBDatasets& operator=(CDBDatasets const&);
227 
229  void loadFeatureDataDictionary();
230 
232  void loadDatasetDictionary();
233 
235  void addDatasetFileExtension();
236 
239 
242 
244  static const std::string theFeature_Data_DictionaryFilename;
245 
247  static const std::string theDatasets_DictionaryFilename;
248 
250  //std::map<std::string, Category > myCategories;
251 
253  std::map<std::string, Facc > myFaccDict;
254 
256  std::map<int, std::string> myDatasetFolder;
257 
259  std::map<int, std::string> myDatasetFileExtension;
260 
261  };
262 
263 } } } // namespace mak::osgEarth::CDB
264 

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)