![]() |
VR-Link API Documentation for HLA 1.3
|
00001 /******************************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 00006 00007 #ifndef DtMapDatum_H_ 00008 #define DtMapDatum_H_ 00009 00010 #include <vlutil/vlMachineTypes.h> 00011 00016 00017 #ifdef DtUSE_UTILITIES_NAMESPACE 00018 namespace DtUSE_UTILITIES_NAMESPACE 00019 { 00020 #endif 00021 00027 class DT_DLL_MATRIX DtSpheroid 00028 { 00029 public: 00030 00032 DtFloat64 semiMajor; 00033 00035 DtFloat64 semiMinor; 00036 }; 00037 00050 class DT_DLL_MATRIX DtMapDatum 00051 { 00052 public: 00053 00055 DtMapDatum(); 00056 00059 DtMapDatum(const DtSpheroid& s, DtFloat64 x, DtFloat64 y, DtFloat64 z ); 00060 00062 DtMapDatum( const DtMapDatum& src ); 00063 00065 ~DtMapDatum(); 00066 00068 DtMapDatum& operator=( const DtMapDatum& src ); 00069 00071 //WARNING: compares floating point values 00072 int operator==( const DtMapDatum& rhs ) const; 00073 00075 int operator!=( const DtMapDatum& rhs ) const; 00076 00077 DtSpheroid spheroid; 00078 DtFloat64 datumShift[3]; 00079 }; 00080 00081 00083 const DtSpheroid DtWGS84Spheroid = { 6378137.0, 6356752.3142 }; 00084 00085 const DtSpheroid DtInternationalSpheroid = { 6378388.0, 6356911.946127 }; 00086 const DtSpheroid DtClark1866Spheroid = { 6378206.4, 6356583.8 }; 00087 00088 const DtMapDatum DtWGS84( DtWGS84Spheroid, 0.0, 0.0, 0.0 ); 00089 const DtMapDatum DtED50( DtInternationalSpheroid, -87.0, -98.0, -121.0 ); 00090 const DtMapDatum DtNASANAD27( DtClark1866Spheroid, -8.0, 161.0, 179.0 ); 00091 const DtMapDatum DtNASBNAD27( DtClark1866Spheroid, -8.0, 159.0, 175.0 ); 00092 const DtMapDatum DtCONUSNAD27( DtClark1866Spheroid, -8.0, 160.0, 176.0 ); 00093 00095 DT_DLL_MATRIX void DtUseMapDatum( const DtMapDatum& md ); 00096 00098 DT_DLL_MATRIX const DtMapDatum& DtCurrentMapDatum(); 00099 00100 #ifdef DtUSE_UTILITIES_NAMESPACE 00101 } 00102 #endif 00103 00104 #endif //! DtMapDatum_H_ 00105