VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
shapeReader.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2025 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: shapeDb.h,v $ $Revision: 1.17 $ $State: Exp $
7 *********************************************************************/
8 #ifndef shapeReader_H_
9 #define shapeReader_H_
10 
11 #include "shape/shapeDefines.h"
12 #include "gdb/gdbTerrainReader.h"
13 #include "geometry/point.h"
14 #include <vlutil/vlUtil.h>
15 #include <vlutil/vlConfig.h>
16 #include <list>
17 
18 class DtMetafileRecord;
19 class DtFilename;
20 class DtSurfaceManager;
21 class DtVectorNetwork;
22 
23 //class DtTerrainInitializer;
24 class DtShapeInitializer;
25 class DtShapeTerrainFile;
26 
27 //
28 // Instances of DtShapeReader are responsible for importing polygonal shapefiles
29 // into the GDB format..
31 {
32 
33 public:
34 
35  typedef std::list<DtShapeTerrainFile*> DtShapeTerrainFileContainer;
36  typedef DtShapeTerrainFileContainer::iterator DtShapeTerrainFileIter;
37  typedef DtShapeTerrainFileContainer::const_iterator DtShapeTerrainFileConstIter;
38 
39  // constructor
40  DtShapeReader();
41 
42  // destructor
43  virtual ~DtShapeReader() override;
44 
45  // Loads terrain database file named filename, returning the data in
46  // terrain. The terrain pointer passed in must be initialized before calling
47  // loadTerrain.
48  virtual bool loadTerrain(const DtFilename &filename,
49  DtTerrainDatabase *terrain) override;
50 
51  // Loads terrain database file named filename, returning the data in
52  // terrain. The initializer object is used to pass in additional information
53  // about the terrain to be loaded. The terrain pointer passed in must be
54  // initialized before calling loadTerrain.
55  virtual bool loadTerrain(const DtFilename &filename,
56  DtTerrainDatabase *terrain,
57  const DtTerrainInitializer *initializer) override;
58 
59  // Returns "shape"
60  virtual const DtString dataType() const override;
61 
62  virtual int surfaceIDByElevation(double z);
63 
64  virtual DtPoint &origin();
65 
66  static DtTerrainReader* create();
67 
68  // Returns only the coordinate system that would define this database. Should not load
69  // any polygonal or vector information
70  virtual Coordinate_System *
71  coordinateSystem(const DtFilename &filename) override;
72 
73  virtual int optionalFileFlags(const DtFilename &filename) override {
74  return 0;
75  }
76 
77 protected:
78 
79  // copy constructor
80  DtShapeReader(const DtShapeReader& orig);
81 
82  // assignment operator
84 
85  // Load a dted database (filename is the filename of a terrain metafile).
86  // We need the path to this file in case the dted files specified in the
87  // record are relative paths.
88  virtual bool Load(const DtFilename& filename, const DtShapeInitializer* i);
89 
90  virtual bool importPolys();
91  virtual bool importPostElevationData(const DtShapeInitializer* i);
92 
93  virtual void clean();
94 
95 protected:
96 
98 
99  double myMaxHigh;
100  double myMinHigh;
101 
102  double myLenHigh;
103 
105 
107 
108  static const unsigned int theNumColorGradations;
109 
110 };
111 
112 #endif
double myMinHigh
Definition: shapeReader.h:100
voidpf uLong int origin
Definition: ioapi.h:42
Contains the DtGdbTerrainReader class declaration.
double myMaxHigh
Definition: shapeReader.h:99
DtShapeTerrainFileContainer::iterator DtShapeTerrainFileIter
Definition: shapeReader.h:36
virtual const DtString dataType() const =0
virtual bool loadTerrain(const DtFilename &filename, DtTerrainDatabase *terrain)=0
virtual int optionalFileFlags(const DtFilename &filename) override
Definition: shapeReader.h:73
Definition: coordSystem.h:54
static const unsigned int theNumColorGradations
Definition: shapeReader.h:108
DtShapeTerrainFileContainer::const_iterator DtShapeTerrainFileConstIter
Definition: shapeReader.h:37
double myLenHigh
Definition: shapeReader.h:102
DtPoint myOriginToSubstract
Definition: shapeReader.h:106
Definition: surfaceManager.h:30
Definition: terrainReader.h:41
Definition: shapeTerrainFile.h:25
Definition: shapeReader.h:30
Definition: shapeInitializer.h:24
Definition: metafileRecord.h:28
DtShapeTerrainFileContainer myFileContainer
Definition: shapeReader.h:104
Definition: terrainInitializer.h:16
virtual Coordinate_System * coordinateSystem(const DtFilename &filename)=0
Definition: terrainDatabase.h:148
#define DT_DLL_shape
Definition: shapeDefines.h:23
DtTerrainReader & operator=(const DtTerrainReader &orig)
std::list< DtShapeTerrainFile * > DtShapeTerrainFileContainer
Definition: shapeReader.h:35
Definition: point.h:34
double myThresholdForSeaLevel
Definition: shapeReader.h:97
Definition: vectorNetwork.h:37

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)