00001 #pragma ident "$Id: NEDUtil.hpp 2535 2011-03-25 15:58:06Z ccutlip $"
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef GPSTK_NEDUTIL_HPP
00031 #define GPSTK_NEDUTIL_HPP
00032
00033
00034 #include "Triple.hpp"
00035 #include "Matrix.hpp"
00036 #include "Vector.hpp"
00037 #include "Xvt.hpp"
00038
00039 namespace gpstk
00040 {
00043
00045 class NEDUtil
00046 {
00047 public:
00048
00056 NEDUtil( const double refGdLatRad,
00057 const double refLonRad);
00058
00059
00066 gpstk::Vector<double> convertToNED( const gpstk::Vector<double>& inV ) const;
00067 gpstk::Triple convertToNED( const gpstk::Triple& inVec ) const;
00068 gpstk::Xvt convertToNED( const gpstk::Xvt& in ) const;
00069
00076 void updatePosition( const double refLatRad,
00077 const double refLonRad );
00078
00079
00080 protected:
00081 void compute( const double refLat,
00082 const double refLon);
00083
00084 Matrix<double> rotMat;
00085 };
00086
00088
00089 }
00090 #endif