VR-Link API Documentation for HLA Evolved
Home
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
include
matrix
utmReferencePoint.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 1992-2010 VT MAK
3
** All rights reserved.
4
*******************************************************************************/
8
#pragma once
9
#include "
geodeticCoord.h
"
10
11
#ifdef DtUSE_UTILITIES_NAMESPACE
12
namespace
DtUSE_UTILITIES_NAMESPACE
13
{
14
#endif
15
16
enum
DtPolarDirection
{
DtEast
,
DtWest
,
DtNorth
,
DtSouth
};
17
18
24
class
DT_DLL_MATRIX
DtDegMinSec
25
{
26
public
:
27
double
deg, min,
sec
;
28
DtPolarDirection
direction
;
29
30
public
:
31
33
void
setLatFromDegrees(
double
deg);
34
36
void
setLonFromDegrees(
double
deg);
37
38
protected
:
39
41
void
setFromDegrees(
double
deg);
42
};
43
54
class
DT_DLL_MATRIX
DtUtmReferencePoint
55
{
56
public
:
57
59
DtUtmReferencePoint
();
60
64
DtUtmReferencePoint
(
const
DtDegMinSec
& latRef,
65
const
DtDegMinSec
& lonRef,
66
int
standardOffsets=1,
67
long
zone = 0,
68
const
DtMapDatum
& mapDatum =
DtCurrentMapDatum
(),
69
double
scaleFactor = 0.9996);
70
72
virtual
~
DtUtmReferencePoint
();
73
76
virtual
void
geod2utm(
double
alat,
double
alon,
double
* x,
double
* y );
77
80
virtual
void
utm2geod(
double
x,
double
y,
double
* lat,
double
* lon );
81
83
virtual
const
DtMapDatum
& mapDatum()
const
;
84
86
virtual
void
useMapDatum(
const
DtMapDatum
& mapDatum );
87
89
virtual
const
DtReferenceEllipsoid
* ellipsoid()
const
;
90
92
void
init(
const
DtDegMinSec
& latRef,
93
const
DtDegMinSec
& lonRef,
94
int
standardOffsets=1,
95
long
zone = 0,
96
const
DtMapDatum
& mapDatum =
DtCurrentMapDatum
() );
97
102
virtual
void
uninitialize();
103
105
virtual
bool
isInitialized()
const
;
106
108
virtual
double
scale()
const
;
110
virtual
void
setScale(
double
scale);
111
112
virtual
double
xOrigin()
const
;
113
virtual
void
setXOrgin(
double
x_origin);
114
115
virtual
double
yOrigin()
const
;
116
virtual
void
setYOrgin(
double
y_origin);
117
118
virtual
int
standardOffsets()
const
;
119
virtual
void
setStandardOffsets(
int
so);
120
121
virtual
DtDegMinSec
latRef()
const
;
122
virtual
void
setLatRef(
const
DtDegMinSec
&lat_ref);
123
124
virtual
DtDegMinSec
longRef()
const
;
125
virtual
void
setLongRef(
const
DtDegMinSec
&lat_ref);
126
127
virtual
long
zoneOrigin()
const
;
128
virtual
void
setZoneOrigin(
long
zo);
129
130
virtual
double
standardFalseEasting()
const
;
131
virtual
void
setStandardFalseEasting(
double
sfe);
132
133
virtual
double
standardFalseNorthing()
const
;
134
virtual
void
setStandardFalseNorthing(
double
sfn);
135
146
virtual
double
standardFalseNorthingCrossover()
const
;
147
virtual
void
setStandardFalseNorthingCrossover(
double
sfnc);
148
149
protected
:
150
151
void
initDatumConstants();
152
void
initUtm(
const
double
lat[4],
const
double
lon[4],
long
zone = 0 );
153
void
degree(
const
double
a[3],
double
* b )
const
;
154
156
157
158
159
160
virtual
void
geod2utm(
double
lat,
double
lon,
161
long
* zone,
double
* northing,
double
* easting );
162
virtual
void
utm2geod(
double
northing,
double
easting,
163
long
zone,
double
* lat,
double
* lon );
165
166
protected
:
167
168
int
myInited
;
169
int
myStandardOffsets
;
170
double
myXOrigin
;
171
double
myYOrigin
;
172
173
long
myZoneOrigin
;
174
DtDegMinSec
myLatRef
;
175
DtDegMinSec
myLonRef
;
176
178
DtReferenceEllipsoid
myEllipsoid
;
179
181
DtFloat64
mySemiMajor
;
182
DtFloat64
mySemiMinor
;
183
DtFloat64
myE_sq
;
184
DtFloat64
myEp_sq
;
185
DtFloat64
myEf
;
186
187
DtFloat64
myScale
;
189
double
myStandardFalseEasting
;
190
double
myStandardFalseNorthing
;
191
double
myStandardFalseNorthingCrossover
;
192
193
protected
:
194
195
199
static
void
setLongitudeFudgeFactor(
double
val);
200
201
static
double
theLongitudeFudgeFactor
;
202
};
203
204
DT_DLL_MATRIX
DtUtmReferencePoint
*
DtGlobalUtmReferencePoint
();
205
209
DT_DLL_MATRIX
int
DtUtmGridZoneFromLatLon
(
double
latitude,
double
longitude);
210
211
#ifdef DtUSE_UTILITIES_NAMESPACE
212
}
213
#endif
214
215
216
Document ID: Generated on Fri Dec 2 02:42:08 EST 2016 from SVN revision 171416
Copyright © 2005-2016 VT MÄK. All Rights Reserved (
www.mak.com
)