VR-Forces 4.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
include
flt
fltTerrainInit.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2005 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
/*******************************************************************************
6
** $RCSfile: fltTerrainInit.h,v $ $Revision: 1.10 $ $State: Exp $
7
*******************************************************************************/
8
#ifndef fltTerrainInit_H_
9
#define fltTerrainInit_H_
10
11
#include "
flt/fltDefines.h
"
12
#include <matrix/mapDatum.h>
13
#include "
geometry/point.h
"
14
#include "
gdb/terrainFileInitializer.h
"
15
#include "
gdb/terrainDatabaseToolConfiguration.h
"
16
17
// class DtFlightTerrainInitializer: has the parameters to create
18
// a gdb based off of flight files. Namely it holds the reference Ellipsoid
19
// and datum shift to create the map datum for the coordinate system,
20
// as well as external reference and LOD parameters.
21
class
DT_DLL_flt
DtFlightTerrainInitializer
:
public
DtTerrainFileInitializer
22
{
23
24
public
:
25
26
DtFlightTerrainInitializer
();
27
28
virtual
~
DtFlightTerrainInitializer
();
29
30
// copy constructor
31
DtFlightTerrainInitializer
(
const
DtFlightTerrainInitializer
& orig);
32
33
// assignment operator
34
DtFlightTerrainInitializer
&
operator=
(
const
DtFlightTerrainInitializer
& orig);
35
36
virtual
DtString
type
()
const
;
37
38
// set/get Semi-Major axis for ellipsoid
39
virtual
void
setMajorAxis(
double
major);
40
virtual
const
double
majorAxis()
const
;
41
42
// set/get Semi-Minor axis for ellipsoid
43
virtual
void
setMinorAxis(
double
minor);
44
virtual
const
double
minorAxis()
const
;
45
46
// Sets from major/minor and shifts. If resetToCurrent is true,
47
// uses DtCurrentMapDatum()
48
virtual
const
DtMapDatum mapDatum()
const
;
49
50
// set/get datum shift
51
virtual
void
setDatumShift(
const
DtPoint
& shift);
52
virtual
const
DtPoint
datumShift()
const
;
53
54
// The following is only relevant for projected coordinate systems:
55
56
// set/get the projection's central scale
57
virtual
void
setProjectionScale(
double
scale);
58
virtual
const
double
projectionScale()
const
;
59
60
// Get/set the number of levels to keep as external files
61
// For instance, if this is set to 0, then the entire flight file will be
62
// read into a single gdb, with no referenced pieces maintained as external
63
// references.
64
virtual
void
setNumberOfExternalLevelsToKeep(
unsigned
int
numLevels);
65
virtual
const
unsigned
int
numberOfExternalLevelsToKeep()
const
;
66
67
virtual
void
setLodDistance(
double
newLodDistance);
68
virtual
const
double
lodDistance()
const
;
69
70
virtual
void
setLowLodDistance(
double
distance
);
71
virtual
const
double
lowLodDistance()
const
;
72
73
// If inverse flattening is non-zero, when the minor axis is requested,
74
// even if it has been defined in the map file, it will still be defined
75
// in terms of the inverse flattening (i.e. inverse flattening takes
76
// precedence)
77
virtual
void
setInverseFlattening(
double
);
78
virtual
const
double
inverseFlattening()
const
;
79
80
// If switch nodes are present in the flt file, only load from the
81
// supplied path.
82
virtual
void
setFlightPath(
const
DtString
&);
83
virtual
const
DtString
flightPath()
const
;
84
85
virtual
void
setDefaultSwitchNodeChildIndex(
unsigned
int
index);
86
virtual
unsigned
int
defaultSwitchNodeChildIndex()
const
;
87
88
virtual
DtTerrainDatabaseToolConfiguration
terrainDbConfig()
const
;
89
virtual
void
setTerrainDbConfig(
const
DtTerrainDatabaseToolConfiguration
& newTerrainDbConfig);
90
91
protected
:
92
93
mutable
DtMapDatum
myMapDatum
;
94
double
myProjectionCentralScale
;
95
96
// The number levels of external nodes to keep as DtFileNodes (default = 0).
97
// Note: if this is > 0, loading them will also cause them to save as gdb
98
// files.
99
unsigned
int
myNumberOfExternalLevelsToKeep
;
100
101
double
myLodDistance
;
102
103
// The low level of detail that is used to generate alternate
104
// representations for DtFileNodes (<0 to disable).
105
double
myLowLodDistance
;
106
107
double
myInverseFlattening
;
108
bool
mySetMapDatumFromCurrent
;
109
DtString
myFlightPath
;
110
111
unsigned
int
myDefaultSwitchNodeChildIndex
;
112
114
// Processing parameters
115
//
116
// These only apply when "keeping external levels" as described above.
117
// These are the parameters that indicate the processing that needs to
118
// happen to the external files before they are written out as "gdb" files.
119
//
120
// Since this kind of processing is done using a DtTerrainDatabaseTool,
121
// that's what we have a processing config file for.
122
DtTerrainDatabaseToolConfiguration
myTerrainDbToolConfig
;
123
};
124
125
#endif
Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (
www.mak.com
)