VR-Link API Documentation for HLA 1516
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 
17 
18 
25 {
26 public:
27  double deg, min, sec;
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 
55 {
56 public:
57 
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;
170  double myXOrigin;
171  double myYOrigin;
172 
176 
179 
186 
192 
193 protected:
194 
195 
199  static void setLongitudeFudgeFactor(double val);
200 
201  static double theLongitudeFudgeFactor;
202 };
203 
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 Mon Feb 6 18:36:34 EST 2017 from SVN revision 173107
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)