00001
00002
00003 #ifndef FILTERCDF_H
00004 #define FILTERCDF_H
00005
00006 #include <qstring.h>
00007 #include <qstringlist.h>
00008
00009 #ifdef HAVE_CDF
00010 #include <cdf.h>
00011 #endif
00012
00013 class FilterCDF
00014 {
00015 public:
00016 FilterCDF(QString filename=0);
00017 #ifdef HAVE_CDF
00018 bool fileOK() { return fileok; }
00019 QString version();
00020 QString copyright();
00021 long getNDims() { return ndims; }
00022 QString getMaj();
00023 QString getCompression();
00024 long getMaxRec() { return maxrec; }
00025 long getNVars() { return nvars; }
00026 long getNAtts() { return natts; }
00027 QString getAtt(int aid);
00028 QString getVar(int varid);
00029 long getVarLen(QString name);
00030 QStringList getDataString(int varid);
00031 double getData(QString varname, int i);
00032
00033 QString getComp(int c);
00034 QString getEnc(int e);
00035 protected:
00036 QString getType(int t);
00037 bool isZvar(int varid);
00038 bool isZvar(QString varname);
00039 double getValue(void *value,long type);
00040 #endif
00041 private:
00042 QString filename;
00043 #ifdef HAVE_CDF
00044 bool fileok;
00045 CDFid id;
00046 long ndims, enc, nvars, natts, maj, maxrec;
00047 long inquire(int type);
00048 #endif
00049 };
00050
00051 #endif //FILTERCDF_H