00001 #pragma ident "$Id: ENUUtil.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 #ifndef GPSTK_ENUUTIL_HPP
00028 #define GPSTK_ENUUTIL_HPP
00029
00030
00031 #include "Triple.hpp"
00032 #include "Matrix.hpp"
00033 #include "Vector.hpp"
00034 #include "Xvt.hpp"
00035
00036 namespace gpstk
00037 {
00040
00042 class ENUUtil
00043 {
00044 public:
00045
00054 ENUUtil( const double refGeodeticLatRad,
00055 const double refLonRad);
00056
00057
00064 gpstk::Vector<double> convertToENU( const gpstk::Vector<double>& inV ) const;
00065 gpstk::Triple convertToENU( const gpstk::Triple& inVec ) const;
00066 gpstk::Xvt convertToENU( const gpstk::Xvt& in ) const;
00067
00074 void updatePosition( const double refGDLatRad,
00075 const double refLonRad );
00076
00077
00078 protected:
00079 void compute( const double refLat,
00080 const double refLon);
00081
00082 Matrix<double> rotMat;
00083 };
00084
00086
00087 }
00088 #endif