00001 // Copyright (C) University of Louisiana at Lafayette 00002 // Author : Santhosh Padmanabhan 00003 00004 #include <iostream> 00005 #include <fstream> 00006 #include <stdlib.h> 00007 #include <cmath> 00008 #include <time.h> 00009 #include <vector> 00010 00011 using namespace std; 00012 00013 #define BUFFER_MAX_SIZE 80 00014 #define M_PI 3.14159265358979323846 00015 #define R2D 180 / M_PI 00016 00017 char const *progname; 00018 00019 struct nav_t 00020 { 00021 double time_stamp; 00022 double pos_x; 00023 double pos_y; 00024 }; 00025 00026 struct waypt_t 00027 { 00028 double time_stamp; 00029 unsigned waypt; 00030 }; 00031 00032 struct route_t 00033 { 00034 unsigned waypt_num; 00035 double route_x; 00036 double route_y; 00037 double track_width; 00038 double speed; 00039 }; 00040 00041 struct offset_t 00042 { 00043 double time_stamp; 00044 double nav_x; 00045 double nav_y; 00046 unsigned route_seg; 00047 double offset; 00048 double x_on_seg; 00049 double y_on_seg; 00050 double dist; 00051 }; 00052 00053 struct modroute_t 00054 { 00055 unsigned waypt_num; 00056 double route_x; 00057 double route_y; 00058 double track_width; 00059 double speed; 00060 double seg_length; 00061 double update_seglength; 00062 double seg_azimuth; 00063 double turn; 00064 double scale; 00065 }; 00066 00067 struct distance_t 00068 { 00069 unsigned route_seg; 00070 double distance_from_waypt_one; 00071 }; 00072 00073 struct series_t 00074 { 00075 double dist; 00076 double value; 00077 double top_lb; 00078 double bottom_lb; 00079 }; 00080 00081 std::vector<nav_t> m_nav; 00082 std::vector<waypt_t> m_waypt; 00083 std::vector<route_t> m_route; 00084 std::vector<offset_t> m_offset; 00085 std::vector<modroute_t> m_modroute; 00086 std::vector<distance_t> m_distance; 00087 std::vector<series_t> m_series; 00088