VR-Forces 4.1.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
include
ctdb
c7b.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 c7b_H_
9
#define c7b_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/specMgr.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 Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (
www.mak.com
)