VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
tdbManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #ifndef tdbManager_H_
7 #define tdbManager_H_
8 
9 // \file tdbManager.h
10 // \brief This file contains the declaration of the DtTdbManager class.
11 
13 #include "gdb/terrainSelection.h"
14 
15 class DtList;
16 class DtTerrainDatabase;
17 class DtPaperMapDatabase;
18 class DtString;
19 class DtFilename;
20 
21 class Coordinate_System;
22 class DtExtent;
23 class DtTerrainDbFactory;
24 class DtTdbMetafile;
25 class DtNetworkElement;
27 class DtPaperMap;
28 class DtPaperMapRecord;
29 class DtTdbManager;
30 class Coordinate_System;
31 
33  Coordinate_System*, DtPaperMap*&, void*);
34 
46 {
47 
48 public:
49 
51  DtTdbManager();
52 
55 
57  virtual ~DtTdbManager();
58 
59 private:
60 
63  DtTdbManager(const DtTdbManager& orig);
64  DtTdbManager& operator=(const DtTdbManager& rhs);
65 
66 public:
67 
72  virtual bool load(const DtFilename& filename, const DtList &searchPaths, DtString* errorString = 0);
73 
75  virtual bool load(const DtFilename & filename,const DtFilename & path=DtFilename::nullFilename(), DtString* errorString = 0);
76 
78  virtual bool load(DtTdbMetafile& tdbMeta,const DtFilename & path=DtFilename::nullFilename(), DtString* errorString = 0 );
79 
80  // Returns a coordinate system from the specified file. Use this call rather than load if all you are interested in
81  // is the coordinate system. Note that you will need to delete the coordinate system object returned to prevent a
82  // memory leak
83  virtual Coordinate_System* coordinateSystemFrom(const DtFilename&,
84  const DtFilename & path=DtFilename::nullFilename(), DtString* errorString = 0);
85 
86  // Returns true if the flags are set in the specified database
87  virtual bool hasOptionalFlags(int flags, const DtFilename&,
88  const DtFilename & path=DtFilename::nullFilename(), DtString* errorString = 0);
89 
93  virtual bool loadPapermaps(DtTdbMetafile& tdbMeta, DtTerrainDatabase* db, const DtFilename & path=DtFilename::nullFilename());
94 
96  virtual bool save(const DtFilename& filename);
97 
99  virtual bool exportPoly(const DtFilename& filename);
100 
105  virtual bool createDatabaseFromExtent(const DtExtent&, Coordinate_System* coordSys = 0);
106 
110  virtual bool unload();
111 
113 
114  virtual bool selectTerrain(const DtVector& localLocation,
115  DtTerrainSelection& terrainSelection);
116 
117  virtual bool selectTerrain(double lat, double lon,
118  DtTerrainSelection& terrainSelection);
119 
120  virtual bool selectTerrain(const DtExtent& extent,
121  DtTerrainSelection& terrainSelection, bool selectInclusive = true);
122  virtual bool selectTerrain(const DtNetworkElement& networkElement,
123  DtTerrainSelection& terrainSelection, bool selectInclusive = true);
125 
129  virtual bool processDatabase(DtTerrainDatabase& terrainDatabase,
130  const DtGdbProcessingMetafileRecord& postProcessingRecord) const;
131 
133  virtual void setTerrainFactory(DtTerrainDbFactory* fac);
134  virtual DtTerrainDbFactory* terrainDbFactory();
135 
137  virtual const DtTerrainDatabase* terrainDatabase() const;
138  virtual DtTerrainDatabase* terrainDatabase();
139  virtual void setTerrainDatabase(DtTerrainDatabase* t);
140 
142  virtual const DtPaperMapDatabase* paperMapDatabase() const;
143  virtual DtPaperMapDatabase* paperMapDatabase();
144  virtual void setPaperMapDatabase(DtPaperMapDatabase* p);
145 
147  static DtTdbManager* create(DtTerrainDbFactory*);
148 
150  virtual DtTerrainDatabase* createTerrainDatabase();
151 
153  void setCheckImageForValidityCallback(DtCheckImageForValidityCallbackFcn, void*);
154  DtCheckImageForValidityCallbackFcn checkImageForValidityCallback(void*& userPtr) const;
155 
161  virtual bool loadFor3DVisualization(const DtFilename& filename,
162  Coordinate_System* targetCoordinateSystem = 0, DtString* errorString = 0);
163 
164  // Loads feature data from the specified feature data source, and merges them
165  // into the specified terrain database.
166  // Loads from: GDB, .dfd, and .shp files.
167  virtual bool loadFeatureDataIntoTerrain(const DtFilename& featureDataFilename,
168  DtTerrainDatabase& terrainDb, bool crop = false, bool planarize = true);
169 
170  // \return myLoadedTerrainFilename.
171  virtual DtString loadedTerrainFilename() const;
172 
173  // \brief Sets a flag indicating that paged terrains should be fully loaded.
174  virtual void setFullyLoad(bool);
175  virtual bool fullyLoad() const;
176 protected:
177 
183 
184  // The filename of the terrain that was passed into the load() method
185  // to load the terrain. If a metafile was passed in, this will be the name stored.
187 
189 };
190 
191 #endif
192 

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)