00001 ////////////////////////////////////////////////////////////////////////////////////////////////// 00002 /*! \file GPSObserver.h 00003 * \brief Header file for gps observer 00004 * \author $Author: jayhawk_hokie $ 00005 * \version $Revision: 1.1 $ 00006 * \date $Date: 2007/08/31 16:09:30 $ 00007 *////////////////////////////////////////////////////////////////////////////////////////////////// 00008 /*! 00009 */ 00010 ////////////////////////////////////////////////////////////////////////////////////////////////// 00011 00012 #ifndef __SSSL_GPS_OBSERVER_H__ 00013 #define __SSSL_GPS_OBSERVER_H__ 00014 00015 00016 #include "OrbitObserver.h" 00017 00018 00019 using namespace std; 00020 00021 class GPSObserver : public OrbitObserver 00022 { 00023 public: 00024 ////////////////////////////////// 00025 // Constructors/Deconstructors 00026 ////////////////////////////////// 00027 00028 GPSObserver( ); 00029 00030 GPSObserver( TiXmlHandle handle, Whorl* ptr_whorl ); 00031 00032 virtual ~GPSObserver( ); 00033 00034 int Initialize( ); 00035 00036 int Run( ); 00037 00038 void Parse( TiXmlHandle handle ); 00039 00040 void GPS2Screen( AshtechG12_GPS_PhysicalDevice::Position _spaceVehicle ); 00041 00042 Vector GetWGS84( ); 00043 00044 Vector GetECEF( ); 00045 00046 Vector GetECI( ); 00047 00048 Keplerian GetOsculatingOrbitalElements( ); 00049 00050 Keplerian GetMeanOrbitalElements( ); 00051 00052 00053 private: 00054 00055 Whorl *m_whorl; 00056 00057 /* Create Object associated with Ashtech G12 GPS Receiver */ 00058 AshtechG12_GPS_PhysicalDevice m_SpaceVehicle; 00059 00060 /* Define position structure variable */ 00061 AshtechG12_GPS_PhysicalDevice::Position m_SpaceVehiclePosition; 00062 00063 /* (6x1) */ 00064 Vector m_WGS84Vector; 00065 /* (6x1) */ 00066 Vector m_ECEFVector; 00067 /* (6x1) */ 00068 Vector m_ECIVector; 00069 00070 OsculatingOrbitalElements m_SpaceVehicleOsculatingCOE; 00071 00072 Keplerian m_SpaceVehicleMeanCOE; 00073 00074 ssfTime m_InitialTime; 00075 00076 }; 00077 00078 #endif 00079 00080 // Do not change the comments below - they will be added automatically by CVS 00081 /***************************************************************************** 00082 * $Log: GPSObserver.h,v $ 00083 * Revision 1.1 2007/08/31 16:09:30 jayhawk_hokie 00084 * Initial Submission. 00085 * 00086 * 00087 * 00088 ******************************************************************************/ 00089 00090 00091