VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtMetaFlightDescription.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2010 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: $ $Revision: $ $State: $
7 ******************************************************************************/
8 
12 
13 #pragma once
14 #include <vrvTerrain/vrvTerrain.h>
16 #include <map>
17 #include <string>
18 #include <boost/shared_ptr.hpp>
19 
20 class DtDegMinSec;
21 
22 namespace makVrv
23 {
24  class DtMetaFlightParser;
25 
29  {
30  public:
31 
34 
37 
39  void getPaths(std::vector<std::string>& paths);
40 
42  void parse(DtMetaFlightParser& parser);
43 
45  unsigned int numberOfGeometryDatasets() const;
46 
49  const std::string& geometryDatasetName(int index) const;
50 
52  const DtMetaFlightTypes::Position2D& geometryDatasetOrigin(
53  const std::string& dsName) const;
54 
56  const DtMetaFlightTypes::Position2D& geometryDatasetExtent(
57  const std::string& dsName) const;
58 
61  const double geometryDatasetRadius(const std::string& dsName) const;
62 
66  const std::string& geometryDatasetName(const std::string& dsName) const;
67 
70  const std::string& geometryDatasetTitle(const std::string& dsName) const;
71 
74  const std::string& geometryDatasetFileFormat(const std::string& dsName) const;
75 
77  DtMetaFlightTypes::CoordSysTypeSP geometryDatasetDataCoordinateSystem(
78  const std::string& dsName) const;
79 
82  const std::string& geometryDatasetFileNamePattern(const std::string& dsName) const;
83 
85  DtMetaFlightTypes::CoordSysTypeSP geometryDatasetGridCoordinateSystem(
86  const std::string& dsName) const;
87 
89  const DtMetaFlightTypes::HierarchyType& geometryDatasetGridHierarchyType(
90  const std::string& dsName) const;
91 
94  unsigned int numberOfGeometryGridLevels(const std::string& dsName) const;
95 
98  const std::string& geometryGridLevelName(const std::string& dsName,
99  int index) const;
100 
103  DtMetaFlightTypes::TileType geometryGridLevelTileType(
104  const std::string& dsName, int index) const;
105 
107  unsigned int geometryGridLevelColumns(const std::string& dsName,
108  int index) const;
109 
112  unsigned int geometryGridLevelColDivisions( const std::string& dsName,
113  int index ) const;
114 
116  unsigned int geometryGridLevelRows(const std::string& dsName,
117  int index) const;
118 
121  unsigned int geometryGridLevelRowDivisions( const std::string& dsName,
122  int index ) const;
123 
126  double geometryGridLevelSwitchIn(const std::string& dsName,int index) const;
127 
130  double geometryGridLevelSwitchOut(const std::string& dsName,int index) const;
131 
135  void geometryGridTileCenter(const std::string& dsName, unsigned int level,
136  unsigned int row, unsigned int column,
137  double& centerX, double& centerY, double& centerZ) const;
138 
141  static void convertPosition(
142  DtMetaFlightTypes::CoordSysTypeSP sourceCoordSystem,
143  DtMetaFlightTypes::CoordSysTypeSP destCoordSystem,
144  double& centerX, double& centerY, double& centerZ );
145 
149  void geometryGridTileOffset(const std::string& dsName, unsigned int level,
150  unsigned int row, unsigned int column,
151  double& offsetX, double& offsetY, double& offsetZ) const;
152 
156  std::string generateGeometryGridTileFilename(const std::string& dsName,
157  int index, unsigned int row, unsigned int column);
158 
160  unsigned int numberOfVirtualTextureDatasets() const;
161 
164  const std::string& virtualTextureDatasetName(int index) const;
165 
167  DtMetaFlightTypes::CoordSysTypeSP virtualTextureCoordinateSystem(
168  const std::string& dsName) const;
169 
172  DtMetaFlightTypes::Position2D virtualTextureDatasetOrigin(
173  const std::string& dsName) const;
174 
177  DtMetaFlightTypes::Position2D virtualTextureDatasetOrigin(
178  const std::string& dsName,
179  const DtMetaFlightTypes::CoordSysTypeSP& system) const;
180 
183  DtMetaFlightTypes::Position2D virtualTextureDatasetExtent(
184  const std::string& dsName) const;
185 
188  DtMetaFlightTypes::Position2D virtualTextureDatasetExtent(
189  const std::string& dsName,
190  const DtMetaFlightTypes::CoordSysTypeSP& system) const;
191 
194  const std::string& virtualTextureDatasetTitle(const std::string& dsName) const;
195 
198  const std::string& virtualTextureDatasetFileFormat(const std::string& dsName) const;
199 
202  const std::string& virtualTextureDatasetFileNamePattern(const std::string& dsName) const;
203 
206  unsigned int virtualTextureDatasetTileTexels(const std::string& dsName) const;
207 
210  const std::string& virtualTextureDatasetSubstitutionTextureName(
211  const std::string& dsName) const;
212 
215  unsigned int numberOfVirtualTextureGridLevels(const std::string& dsName) const;
216 
219  const std::string& virtualTextureGridLevelName(const std::string& dsName,
220  int index) const;
221 
223  unsigned int virtualTextureGridLevelColumns(const std::string& dsName,
224  int index) const;
225 
228  unsigned int virtualTextureGridLevelColDivisions(const std::string& dsName,
229  int index) const;
230 
232  unsigned int virtualTextureGridLevelRows(const std::string& dsName,
233  int index) const;
234 
237  unsigned int virtualTextureGridLevelRowDivisions(const std::string& dsName,
238  int index) const;
239 
243  std::string generateVirtualTextureFileName(const std::string& dsName,
244  int index, unsigned int row, unsigned int column) const;
245 
247  const std::string& virtualTexturePath() const;
248 
250  inline const DtMetaFlightTypes::Database* database() const
251  {
252  return myDatabase;
253  }
254 
255  struct StringOrInt
256  {
257  bool isString;
258  std::string s_data;
259  int i_data;
260 
261  void operator=(const std::string& str)
262  {
263  isString = true;
264  s_data = str;
265  }
266 
267  void operator=(int i)
268  {
269  isString = false;
270  i_data = i;
271  }
272  };
273  typedef std::map<std::string,StringOrInt> PatternMap;
274 
275  static std::string generateFileName(const std::string& filenamePattern,
276  const PatternMap& patternMap);
277 
278  protected:
279 
280  static void setLonDtDegMinSecFromDegrees(DtDegMinSec& dmslon, double deg);
281  static void setDtDegMinSecFromDegrees(DtDegMinSec& dms, double deg);
282  static void setLatDtDegMinSecFromDegrees(DtDegMinSec& dmslat, double deg);
283 
284  protected:
285 
286  std::string myFilePath;
287  std::string myDirOfFilePath;
288  std::string myVtFilePath;
289  std::string myDirOfVtFilePath;
290 
292  };
293 }

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)