00001 #ifndef _WINC_MDRPLOT
00002 #define _WINC_MDRPLOT
00003
00004 #include <WXP/CityHash.h>
00005 #include <WXP/Date.h>
00006 #include <WXP/DatumPlot.h>
00007 #include <WXP/Domain.h>
00008 #include <WXP/Drawing.h>
00009 #include <WXP/Filename.h>
00010 #include <WXP/Grid.h>
00011 #include <WXP/GridPlot.h>
00012 #include <WXP/Image.h>
00013 #include <WXP/ImagePlot.h>
00014 #include <WXP/Lev2Plot.h>
00015 #include <WXP/Listener.h>
00016 #include <WXP/MdrDomain.h>
00017 #include <WXP/MdrData.h>
00018 #include <WXP/Plot.h>
00019 #include <WXP/String.h>
00020 #include <WXP/Timezone.h>
00021 #include <WXP/VarList.h>
00022
00023 namespace WXP {
00024 class MdrPlot : public Drawing, public Listener {
00025 Filename filename;
00026 int type;
00027 int bar;
00028 int fill;
00029 int sync;
00030 bool draw_plot;
00031 bool draw_data;
00032 String color_table;
00033 String color_fill;
00034 String color;
00035 String variable;
00036 char id[5];
00037 MdrDomain mdom;
00038 DatumPlot dplot;
00039 GridCont gcont;
00040 ImagePlot img;
00041 int plt_site;
00042 float plt_dist[5];
00043 int plt_echo;
00044 char cutoff[20];
00045 int ramp_cut;
00046 int ramp_len;
00047 int clutter;
00048 Timezone tz;
00049 VarList vars;
00050 CityHash chash;
00051 int num;
00052
00053 public:
00054 MdrPlot();
00055 MdrPlot( const char *str );
00056 int init();
00057 int setParam( const char *str );
00058 int setPath( const char *path );
00059 int setFile();
00060 int setInput( const char *rtype );
00061 int getType( const char *rtype );
00062 int setNameConv( const char *name );
00063 int setHour( const char *str );
00064 int setFilename();
00065 int setFilename( const char *name );
00066 int setFilename( Date &date );
00067 int setFilename( Date &date, const char *param );
00068 inline int setForeTime( const char *fore ){ return 1; };
00069 int setColorTable( const char *str );
00070 int setColor( const char *str );
00071 int setColorFill( const char *str );
00072 int setVariable( const char *str );
00073 int setId( const char *str );
00074 int setMap( bool val );
00075 int getDate( Date &date );
00076 int getInitDate( Date &date );
00077 int getDateOffset();
00078 int getLoopType();
00079 int getNumFrames();
00080 int getDomain( Domain &domain );
00081 inline int getSync(){ return sync; };
00082 int draw( Plot &plot, Grid &grid );
00083 int draw( Plot &plot, Image &image );
00084 int draw( Plot &plot );
00085 int toImage( MdrData &rdata, Image &image );
00086 int drawData( Plot &plot, MdrData &rdata );
00087 void callback( const char *ev_str, const char *ev_data, const void *data );
00088 int print();
00089
00090 enum Type {
00091 SITE,
00092 MOS,
00093 MOSG
00094 };
00095 };
00096 }
00097 #endif