VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 
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 
89  static void setThrowExceptionOnConversionFrom0Geocentric(bool enable);
90 
93  static void setNotifyConversionFrom0Geocentric(bool enable);
94 
95 protected:
96 
97  static unsigned int theMaxIterationsForConvergence;
98 
101 
103  int myInited;
104 
105  double ellipse_a;
106  double ellipse_a_sq;
107  double ellipse_f;
108  double ellipse_b;
109  double ellipse_b_sq;
111  double ellipse_e;
112  double ellipse_c1;
113 };
114 
118 
119 #ifdef DtUSE_UTILITIES_NAMESPACE
120 }
121 #endif
122 
123 #endif
124 

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)