00001 #ifndef _WINC_GRIDS
00002 #define _WINC_GRIDS
00003
00004 #include <WXP/Domain.h>
00005 #include <WXP/DomainVal.h>
00006 #include <WXP/EarthPoint.h>
00007 #include <WXP/Grid.h>
00008 #include <WXP/GridPoint.h>
00009 #include <WXP/GridSpec.h>
00010 #include <WXP/VarSpec.h>
00011
00012 namespace WXP {
00013 class Grids {
00014 GridSpec *gs;
00015 Grid *grd;
00016 int *flag;
00017 int num;
00018 int max;
00019
00020 int initClass();
00021
00022 public:
00023 Grids();
00024 Grids( int rmax );
00025 ~Grids();
00026
00027 int setSize( int rmax );
00028 int resize( int rmax );
00029 int init();
00030 int setNum( int val );
00031 int getNum();
00032 int addSpec( const GridSpec &spec );
00033 int addSpec( const char *str );
00034 int setSpec( int ind, const GridSpec &spec );
00035 int setSpec( int ind, const char *str );
00036 int getSpec( int ind, GridSpec &spec );
00037 GridSpec getSpec( int ind );
00038 int getVarSpec( int ind, VarSpec &spec );
00039 VarSpec getVarSpec( int ind );
00040 int addGrid( const Grid &grid );
00041 int setGrid( int ind, const Grid &grid );
00042 int getGrid( int ind, Grid &grid );
00043 DomainVal getDomainVal( int ind );
00044 Domain getDomain( int ind );
00045 int getProj( int ind );
00046 int setDomain( Domain &rdom );
00047 int allocData();
00048 int setDate( Date &date );
00049 int setDate( int ind, Date &date );
00050 int setDatim( const char *str );
00051 int setDatim( int ind, const char *str );
00052 int setInfo( int ind, const char *str );
00053 int setVar( int ind, VarSpec &vspec );
00054 const char *getSpecUnits( int ind );
00055 bool isSet( int ind );
00056 bool isVarSet( int ind );
00057 bool isVarSet();
00058 int getNumSet();
00059 int setValue( int ind, int i, int j, float val );
00060 float getValue( int ind, int i, int j );
00061 float getValue( int ind, GridPoint &gpt );
00062 float getValue( int ind, EarthPoint &ept );
00063 int equal( GridSpec &spec );
00064 bool equal( int ind, GridSpec &spec );
00065 int print();
00066 int print( int ind );
00067 int printStats();
00068 int printData();
00069 };
00070 }
00071 #endif