VR-Forces 4.7 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
include
ctdb
c7bReader.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 1999 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
/*******************************************************************************
6
** $RCSfile: c7b.h,v $ $Revision: 1.23 $ $State: Exp $
7
*******************************************************************************/
8
#ifndef c7bReader_H_
9
#define c7bReader_H_
10
11
#include "
ctdb/ctdbDefines.h
"
12
#ifdef WIN32
13
#include <float.h>
14
#define isAValidFloat(x) (!_isnan(x))
15
#else
16
#include <math.h>
17
#define isAValidFloat(x) (!isnan(x))
18
#endif
19
20
#include "
gdb/terrainReader.h
"
21
#include <vlutil/vlFilename.h>
22
#include "
geometry/point.h
"
23
#include "
ctdb/c7NetTypes.h
"
24
#include <vlutil/vlList.h>
25
#include "
gdb/specificationManager.h
"
26
27
class
DtC7bHeader
;
28
class
DtC7bAuxHeader
;
29
class
DtC7bGeoid
;
30
class
DtC7bPatchGroupHeader
;
31
class
DtC7bNode
;
32
class
DtC7bEdge
;
33
class
DtC7bAbstractFeature
;
34
class
DtC7bLinearModel
;
35
class
DtC7bVolumeModel
;
36
class
DtC7bAggModel
;
37
class
DtC7bMesTemplate
;
38
class
DtC7bMesVolume
;
39
class
DtC7bPatTable
;
40
class
DtC7bWaterChars
;
41
class
DtC7bElevation
;
42
class
DtC7bGroup
;
43
44
class
DtSurfaceManager
;
45
class
DtGridPostList
;
46
class
DtGroup
;
47
48
class
DtVectorNetwork
;
49
class
DtNetworkNode
;
50
51
52
class
DT_DLL_ctdb
DtC7bReader
:
public
DtTerrainReader
53
{
54
public
:
55
56
DtC7bReader
();
57
~
DtC7bReader
();
58
59
// Loads terrain database file named filename, returning the data in
60
// terrain. The terrain pointer passed in must be initialized before calling
61
// loadTerrain.
62
virtual
bool
loadTerrain
(
const
DtFilename&
filename
,
63
DtTerrainDatabase
* terrain);
64
65
// Loads terrain database file named filename, returning the data in
66
// terrain. The initializer object is used to pass in additional information
67
// about the terrain to be loaded. The terrain pointer passed in must be
68
// initialized before calling loadTerrain.
69
virtual
bool
loadTerrain
(
const
DtFilename& filename,
70
DtTerrainDatabase
* terrain,
71
const
DtTerrainInitializer
* initializer);
72
73
// Returns "c7b"
74
virtual
const
DtString
dataType
()
const
;
75
76
virtual
DtVectorNetwork
*
localNetwork
() {
return
myLocalNetwork;}
77
virtual
DtNetworkNode
* betterNode(
DtPoint
&point,
unsigned
specID);
78
79
static
DtTerrainReader
* create();
80
81
// Returns only the coordinate system that would define this database. Should not load
82
// any polygonal or vector information
83
virtual
Coordinate_System
*
coordinateSystem
(
const
DtFilename& filename);
84
85
protected
:
86
87
virtual
bool
setupAndReadHeader(
const
DtFilename&, DtNetworkByteOrderType&);
88
virtual
void
cleanUpC7b();
89
virtual
bool
read(
const
DtFilename &filename);
90
virtual
bool
readPatchGroupHeaders();
91
virtual
bool
readTopology();
92
virtual
bool
readQuadTree();
93
virtual
bool
readLinearModels();
94
virtual
bool
readVolumeModels();
95
virtual
bool
readAggregateModels();
96
virtual
bool
readMes();
97
virtual
bool
readMesTemplates();
98
virtual
bool
readMesVolumes();
99
virtual
bool
readSoilTables();
100
virtual
bool
readWaterChars();
101
virtual
bool
readTidalZones();
102
virtual
bool
readElevations();
103
virtual
bool
readAllPatchData();
104
105
virtual
bool
import
();
106
virtual
bool
buildSurfaceManager();
107
virtual
bool
createFromGrid();
108
virtual
bool
createFromTin();
109
virtual
bool
createGridElevationData(
DtGroup
* group);
110
virtual
bool
createGroupGrid(
DtGroup
* group);
111
virtual
bool
importFeatures();
112
virtual
bool
importFeatureData();
113
virtual
bool
triangulateGridData();
114
virtual
bool
importAbstractData();
115
116
virtual
void
calculateMaxMinHigh();
117
118
virtual
int
optionalFileFlags
(
const
DtFilename& filename)
119
{
120
return
0;
121
}
122
123
public
:
124
125
DtC7bHeader
*
myC7bHeader
;
126
DtC7bAuxHeader
*
myC7bAuxHeader
;
127
DtC7bGeoid
*
myC7bGeoid
;
128
DtC7bPatchGroupHeader
*
myC7bPatchGroupHeaders
;
129
DtC7bNode
*
myC7bNodes
;
130
DtC7bEdge
*
myC7bEdges
;
131
DtC7bAbstractFeature
**
myC7bAbstractFeatures
;
132
DtC7bLinearModel
*
myC7bLinearModels
;
133
DtC7bVolumeModel
*
myC7bVolumeModels
;
134
DtC7bVolumeModel
*
myC7bMesVolumeModels
;
135
DtC7bAggModel
*
myC7bAggModels
;
136
DtC7bMesTemplate
*
myC7bMesTemplates
;
137
DtC7bMesVolume
*
myC7bMesVolumes
;
138
DtC7NetU32
*
myC7bSoilTableIndex
;
139
DtNetU8 *
myC7bSoilTables
;
140
DtC7bPatTable
*
myC7bPatTable
;
141
DtC7bWaterChars
*
myC7bWaterChars
;
142
DtC7NetFloat32
*
myC7bTidalZones
;
143
DtC7bElevation
*
myC7bElevations
;
144
DtC7NetInt32
*
myC7bSoils
;
145
DtC7bGroup
*
myC7bGroups
;
146
147
int
myPatchesWide
;
148
int
myPatchesHigh
;
149
int
myNumPatchGroups
;
150
int
myNumNodes
;
151
int
myNumEdges
;
152
int
myNumAbstractFeatures
;
153
int
myNumLinearModels
;
154
int
myNumVolumeModels
;
155
int
myNumMesVolumeModels
;
156
int
myNumAggModels
;
157
int
myNumMesTemplates
;
158
int
myNumMesVolumes
;
159
int
myNumSoilTables
;
160
int
mySizeSoilTables
;
161
int
myNumWaterChars
;
162
int
myNumTidalZones
;
163
int
myNumElevations
;
164
int
myNumSoils
;
165
166
double
myMaxHigh
;
167
double
myMinHigh
;
168
double
myLenHigh
;
169
double
myPatchSize
;
170
171
long
myBaseX
;
172
long
myBaseY
;
173
long
myStepX
;
174
long
myStepY
;
175
176
FILE*
myFile
;
177
178
DtSurfaceManager
*
mySurfaceManager
;
179
DtGridPostList
*
myGridPostList
;
180
DtVectorNetwork
*
myLocalNetwork
;
181
182
DtList myNodeLists[10][10];
183
bool
mySourceIsLittleEndian
;
184
185
static
const
unsigned
int
theNumColorGradations
;
186
static
DtSpecificationID
theRiverSpec
;
187
static
DtSpecificationID
theRoadSpec
;
188
static
DtSpecificationID
theRailroadSpec
;
189
static
DtSpecificationID
theTreeSpec
;
190
static
DtSpecificationID
theTreesSpec
;
191
static
DtSpecificationID
theFencesSpec
;
192
static
DtSpecificationID
theMicrowaterSpec
;
193
static
DtSpecificationID
thePipelineSpec
;
194
static
DtSpecificationID
thePowerlineSpec
;
195
static
DtSpecificationID
theBoundarySpec
;
196
};
197
198
#endif
199
Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (
www.mak.com
)