VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
gdbTerrainReader.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1999 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: gdbTerrainReader.h,v $ $Revision: 1.16 $ $State: Exp $
7 *********************************************************************/
8 #ifndef gdbTerrainReader_H_
9 #define gdbTerrainReader_H_
10 
13 
14 #include "gdb/gdbDefines.h"
15 #include <stdio.h>
16 #include "terrainCS/coordSystem.h"
18 #include "gdb/terrainReader.h"
19 
20 class DtTerrainDatabase;
23 class DtFilename;
25 
30 {
31 public:
32 
35 
37  virtual ~DtGdbTerrainReader();
38 
39 private:
40 
43  DtGdbTerrainReader(const DtGdbTerrainReader& original);
44  const DtGdbTerrainReader& operator=(const DtGdbTerrainReader& original);
45 
46 public:
47 
51  virtual bool loadTerrain(const DtFilename& filename, DtTerrainDatabase* terrain);
52 
57  virtual bool loadTerrain(const DtFilename& filename, DtTerrainDatabase* terrain,
58  const DtTerrainInitializer* initializer);
59 
60  static DtTerrainReader * create();
61 
65  virtual const DtString dataType() const;
66 
68  virtual bool readFromFile(const DtFilename& basename, DtTerrainDatabase* terrain);
69 
70  // Returns only the coordinate system that would define this database. Should not load
71  // any polygonal or vector information
72  virtual Coordinate_System* coordinateSystem(const DtFilename& filename);
73 
74  // Returns only the optional file flags. Should not load any polygonal or vector information
75  virtual int optionalFileFlags(const DtFilename& filename);
76 
77 protected:
78 
80  bool testInvariant() const;
81 
83  bool createTerrain(const DtFilename& filename,
84  DtTerrainDatabase& terrainDb, const DtGdbReaderInitializer& gdbInitializer);
85 
87  bool loadTerrainFromFile(const DtFilename& filename,
88  DtTerrainDatabase& terrainDb, const DtGdbReaderInitializer& gdbInitializer);
89 
90 
91  // I/O calls.
92  virtual bool readCoordinateSystem(FILE* fp);
93 
95  // closes the file pointer before returning.
96  // Returns false if unable to read version number for any reason.
97  virtual bool readVersionNumber(const DtFilename& basename, DtTerrainFileVersionNumber& versionNumber);
98 
99 
101  virtual bool readVersionNumberFromFile(FILE* fp);
102 
104  virtual bool loadTerrainUsingGdbReader(const DtFilename& basename,
105  const DtTerrainFileVersionNumber versionNumber,
106  DtTerrainDatabase* terrain);
107 
109  virtual DtTerrainFileVersionNumber versionNumberFromFile() const;
110 
112  virtual void setVersionNumberFromFile(DtTerrainFileVersionNumber versionNumber);
113 
116  virtual bool verifyFileType(DtString filename, const DtString& type = "gdb");
117 
120  virtual bool loadSpatialSubdivision(FILE* fp,
122 
123 private:
124 
126 
127 };
128 
129 #endif
Definition: spatialSubdivisionTerrainIntersectorDescriptor.h:21
#define DT_DLL_gdb
Definition: gdbDefines.h:25
DtTerrainFileVersionNumber myVersionNumberFromFile
Definition: gdbTerrainReader.h:125
virtual const DtString dataType() const =0
virtual bool loadTerrain(const DtFilename &filename, DtTerrainDatabase *terrain)=0
The DtGdbTerrainReader class is responsible for loading a GDB terrain database from file...
Definition: gdbTerrainReader.h:29
Definition: coordSystem.h:54
Definition: terrainReader.h:41
Definition: terrainInitializer.h:16
virtual Coordinate_System * coordinateSystem(const DtFilename &filename)=0
Definition: extentInitializer.h:22
Definition: terrainDatabase.h:148
DtTerrainFileVersionNumber
Definition: terrainReader.h:17
DtTerrainReader & operator=(const DtTerrainReader &orig)
virtual int optionalFileFlags(const DtFilename &filename)=0
Definition: gdbReaderInitializer.h:23

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)