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
DtDegMinSec
25
{
26
public
:
27
double
deg, min,
sec
;
28
DtPolarDirection
direction
;
29
};
30
41
class
DT_DLL_MATRIX
DtUtmReferencePoint
42
{
43
public
:
44
46
DtUtmReferencePoint
();
47
51
DtUtmReferencePoint
(
const
DtDegMinSec
& latRef,
52
const
DtDegMinSec
& lonRef,
53
int
standardOffsets=1,
54
long
zone = 0,
55
const
DtMapDatum
& mapDatum =
DtCurrentMapDatum
(),
56
double
scaleFactor = 0.9996);
57
59
virtual
~
DtUtmReferencePoint
();
60
63
virtual
void
geod2utm(
double
alat,
double
alon,
double
* x,
double
* y );
64
67
virtual
void
utm2geod(
double
x,
double
y,
double
* lat,
double
* lon );
68
70
virtual
const
DtMapDatum
& mapDatum()
const
;
71
73
virtual
void
useMapDatum(
const
DtMapDatum
& mapDatum );
74
76
virtual
const
DtReferenceEllipsoid
* ellipsoid()
const
;
77
79
void
init(
const
DtDegMinSec
& latRef,
80
const
DtDegMinSec
& lonRef,
81
int
standardOffsets=1,
82
long
zone = 0,
83
const
DtMapDatum
& mapDatum =
DtCurrentMapDatum
() );
84
89
virtual
void
uninitialize();
90
92
virtual
bool
isInitialized()
const
;
93
95
virtual
double
scale()
const
;
97
virtual
void
setScale(
double
scale);
98
99
virtual
double
xOrigin()
const
;
100
virtual
void
setXOrgin(
double
x_origin);
101
102
virtual
double
yOrigin()
const
;
103
virtual
void
setYOrgin(
double
y_origin);
104
105
virtual
int
standardOffsets()
const
;
106
virtual
void
setStandardOffsets(
int
so);
107
108
virtual
DtDegMinSec
latRef()
const
;
109
virtual
void
setLatRef(
const
DtDegMinSec
&lat_ref);
110
111
virtual
DtDegMinSec
longRef()
const
;
112
virtual
void
setLongRef(
const
DtDegMinSec
&lat_ref);
113
114
virtual
long
zoneOrigin()
const
;
115
virtual
void
setZoneOrigin(
long
zo);
116
117
virtual
double
standardFalseEasting()
const
;
118
virtual
void
setStandardFalseEasting(
double
sfe);
119
120
virtual
double
standardFalseNorthing()
const
;
121
virtual
void
setStandardFalseNorthing(
double
sfn);
122
133
virtual
double
standardFalseNorthingCrossover()
const
;
134
virtual
void
setStandardFalseNorthingCrossover(
double
sfnc);
135
136
protected
:
137
138
void
initDatumConstants();
139
void
initUtm(
const
double
lat[4],
const
double
lon[4],
long
zone = 0 );
140
void
degree(
const
double
a[3],
double
* b )
const
;
141
143
144
145
146
147
virtual
void
geod2utm(
double
lat,
double
lon,
148
long
* zone,
double
* northing,
double
* easting );
149
virtual
void
utm2geod(
double
northing,
double
easting,
150
long
zone,
double
* lat,
double
* lon );
152
153
protected
:
154
155
int
myInited
;
156
int
myStandardOffsets
;
157
double
myXOrigin
;
158
double
myYOrigin
;
159
160
long
myZoneOrigin
;
161
DtDegMinSec
myLatRef
;
162
DtDegMinSec
myLonRef
;
163
165
DtReferenceEllipsoid
myEllipsoid
;
166
168
DtFloat64
mySemiMajor
;
169
DtFloat64
mySemiMinor
;
170
DtFloat64
myE_sq
;
171
DtFloat64
myEp_sq
;
172
DtFloat64
myEf
;
173
174
DtFloat64
myScale
;
176
double
myStandardFalseEasting
;
177
double
myStandardFalseNorthing
;
178
double
myStandardFalseNorthingCrossover
;
179
180
protected
:
181
182
186
static
void
setLongitudeFudgeFactor(
double
val);
187
188
static
double
theLongitudeFudgeFactor
;
189
};
190
191
DT_DLL_MATRIX
DtUtmReferencePoint
*
DtGlobalUtmReferencePoint
();
192
196
int
DtUtmGridZoneFromLatLon
(
double
latitude,
double
longitude);
197
198
#ifdef DtUSE_UTILITIES_NAMESPACE
199
}
200
#endif
201
202
203
Document ID: Generated on Wed Jan 7 13:31:29 EST 2015 from SVN revision 149162
Copyright © 2005-2014 VT MÄK. All Rights Reserved (
www.mak.com
)