VR-Link API Documentation for DIS
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
referenceEllipsoid.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 1992-2010 VT MAK
3
** All rights reserved.
4
*******************************************************************************/
5
6
7
#ifndef GeodeticEllipsoid_H_
8
#define GeodeticEllipsoid_H_
9
10
#include <
vlutil/vlNetTypes.h
>
11
#include "
vlVector.h
"
12
#include <
vlutil/vlMachineTypes.h
>
13
#include "
mapDatum.h
"
14
19
20
#ifdef DtUSE_UTILITIES_NAMESPACE
21
namespace
DtUSE_UTILITIES_NAMESPACE
22
{
23
#endif
24
25
41
class
DT_DLL_MATRIX
DtReferenceEllipsoid
42
{
43
public
:
44
DtReferenceEllipsoid
(
const
DtMapDatum
& datum );
45
virtual
~
DtReferenceEllipsoid
();
46
47
void
useMapDatum(
const
DtMapDatum
& datum );
48
const
DtMapDatum
& mapDatum()
const
;
49
50
void
geocentricToGeodetic(
const
DtVector
& gc,
DtVector
& gd )
const
;
51
void
geodeticToGeocentric(
const
DtVector
& gd,
DtVector
& gc )
const
;
52
53
protected
:
54
55
void
initialize_ellipsoid(
double
a,
double
f );
56
void
geo_to_rad(
double
deg,
double
min,
double
sec,
double
* radian )
const
;
57
void
rad_to_geo(
double
radian,
double
* deg,
double
* min,
double
* sec )
const
;
58
59
60
61
void
geodetic_to_geocentric(
double
lat,
double
lon,
double
height,
62
double
* x,
double
* y,
double
* z )
const
;
63
73
void
geocentric_to_geodetic(
double
xp,
double
yp,
double
zp,
74
double
* lat,
double
* lon,
double
* height )
const
;
75
76
public
:
77
81
static
void
setMaxIterationsForConvergence(
unsigned
int
maxItr);
82
84
static
unsigned
int
maxIterationsForConvergence();
85
protected
:
86
87
static
unsigned
int
theMaxIterationsForConvergence
;
88
89
DtMapDatum
myMapDatum
;
90
int
myInited
;
91
92
double
ellipse_a
;
93
double
ellipse_a_sq
;
94
double
ellipse_f
;
95
double
ellipse_b
;
96
double
ellipse_b_sq
;
97
double
ellipse_a_sq_over_b
;
98
double
ellipse_e
;
99
double
ellipse_c1
;
100
};
101
104
DT_DLL_MATRIX
DtReferenceEllipsoid
*
DtGlobalEllipsoid
();
105
106
#ifdef DtUSE_UTILITIES_NAMESPACE
107
}
108
#endif
109
110
#endif
111
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
)