VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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"
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.
22 {
23 
24 public:
25 
27 
28  virtual ~DtFlightTerrainInitializer();
29 
30  // copy constructor
32 
33  // assignment operator
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;
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.
100 
102 
103  // The low level of detail that is used to generate alternate
104  // representations for DtFileNodes (<0 to disable).
106 
110 
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.
123 };
124 
125 #endif
#define DT_DLL_flt
Definition: fltDefines.h:23
bool mySetMapDatumFromCurrent
Definition: flightTerrainInitializer.h:108
double myProjectionCentralScale
Definition: flightTerrainInitializer.h:94
unsigned int myNumberOfExternalLevelsToKeep
Definition: flightTerrainInitializer.h:99
DtMapDatum myMapDatum
Definition: flightTerrainInitializer.h:93
double myLowLodDistance
Definition: flightTerrainInitializer.h:105
Definition: terrainDatabaseToolConfiguration.h:24
DtTerrainDatabaseToolConfiguration myTerrainDbToolConfig
Definition: flightTerrainInitializer.h:122
DT_DLL_VRVCORE double distance(const makVrv::DtCoordinateSystem &, const DtVector &from, const DtVector &to)
Returns the distance from the two points. Coordinates are in local database coordinates The coordinat...
double myInverseFlattening
Definition: flightTerrainInitializer.h:107
DtTerrainFileInitializer & operator=(const DtTerrainFileInitializer &orig)
DtString myFlightPath
Definition: flightTerrainInitializer.h:109
virtual DtString type() const
unsigned int myDefaultSwitchNodeChildIndex
Definition: flightTerrainInitializer.h:111
Definition: terrainFileInitializer.h:19
double myLodDistance
Definition: flightTerrainInitializer.h:101
Definition: flightTerrainInitializer.h:21
Definition: point.h:34

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)