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
flt
flightTerrainInitializer.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 flightTerrainInitializer_H_
9
#define flightTerrainInitializer_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 Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (
www.mak.com
)