VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
terrainReader.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1999 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: terrainReader.h,v $ $Revision: 1.21 $ $State: Exp $
7 *******************************************************************************/
8 #ifndef terrainReader_H_
9 #define terrainReader_H_
10 
11 // \file terrainReader.h
12 // \brief Contains the DtTerrainReader class declaration.
13 
14 #include "gdb/gdbDefines.h"
15 #include <vlutil/vlFilename.h>
16 
18 {
31 };
32 
33 
34 class DtTerrainDatabase;
37 class Coordinate_System;
38 
39 //
40 // DtTerrainReader is an abstract class that represents a reader for any format
42 {
43 public:
44 
45  // default constructor
47 
48  // Loads terrain database file named filename, returning the data in
49  // terrain. The terrain pointer passed in must be initialized before calling
50  // loadTerrain.
51  virtual bool loadTerrain(const DtFilename& filename,
52  DtTerrainDatabase* terrain) = 0;
53 
54  // Loads terrain database file named filename, returning the data in
55  // terrain. The initializer object is used to pass in additional information
56  // about the terrain to be loaded. The terrain pointer passed in must be
57  // initialized before calling loadTerrain.
58  virtual bool loadTerrain(const DtFilename& filename,
59  DtTerrainDatabase* terrain,
60  const DtTerrainInitializer* initializer) = 0;
61 
62  // destructor
63  virtual ~DtTerrainReader();
64 
65  virtual DtTerrainDatabase *terrainDb();
66 
67  // Pre-processes the terrain if specified in any way in the initializer, such
68  // as preallocating the expected number of vertices and surfaces to hold.
69  virtual bool preprocessTerrain(const DtTerrainFileInitializer& terrainInitializer,
70  DtTerrainDatabase& terrainDb) const;
71 
72  virtual const DtString dataType() const = 0;
73 
74  void setTerrainInitializer(const DtTerrainInitializer* initializer);
75  const DtTerrainInitializer* terrainInitializer() const;
76 
77  // Returns only the coordinate system that would define this database. Should not load
78  // any polygonal or vector information
79  virtual Coordinate_System* coordinateSystem(const DtFilename& filename) = 0;
80 
81  // Returns only optional file flags. Should not load
82  // any polygonal or vector information
83  virtual int optionalFileFlags(const DtFilename& filename) = 0;
84 
85 protected:
86 
87  // initialize the reader when loading, is called inside of loadTerrain
88  virtual void init(const DtFilename& filename, DtTerrainDatabase* terrain);
89 
90  // copy constructor
91  DtTerrainReader(const DtTerrainReader& orig);
92 
93  // assignment operator
94  DtTerrainReader& operator=(const DtTerrainReader& orig);
95 
96 protected:
97 
99  DtFilename myFilename;
100 
102 };
103 
105 {
106  return myTerrainDatabase;
107 }
108 
110  const DtTerrainInitializer* initializer)
111 {
112  myTerrainInitializer = initializer;
113 }
114 
116 {
117  return myTerrainInitializer;
118 }
119 
120 #endif
const DtTerrainInitializer * myTerrainInitializer
Definition: terrainReader.h:101
const DtTerrainInitializer * terrainInitializer() const
Definition: terrainReader.h:115
Definition: terrainReader.h:20
virtual DtTerrainDatabase * terrainDb()
Definition: terrainReader.h:104
void setTerrainInitializer(const DtTerrainInitializer *initializer)
Definition: terrainReader.h:109
#define DT_DLL_gdb
Definition: gdbDefines.h:25
Definition: terrainReader.h:24
DtTerrainDatabase * myTerrainDatabase
Definition: terrainReader.h:98
Definition: terrainReader.h:22
Definition: coordSystem.h:54
DtFilename myFilename
Definition: terrainReader.h:99
Definition: terrainReader.h:25
Definition: terrainReader.h:26
Definition: terrainReader.h:23
Definition: terrainReader.h:29
Definition: terrainReader.h:30
Definition: terrainReader.h:27
Definition: terrainReader.h:41
Definition: terrainReader.h:21
Definition: terrainFileInitializer.h:19
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
Definition: terrainInitializer.h:16
Definition: terrainReader.h:28
Definition: terrainDatabase.h:148
Definition: terrainReader.h:19
DtTerrainFileVersionNumber
Definition: terrainReader.h:17

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)