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 bool fileOK() { return fileok; }
00018 #ifdef HAVE_CDF
00019 QString version();
00020 QString copyright();
00021 long NDims() { return ndims; }
00022 QString Maj();
00023 QString Compression();
00024 long MaxRec() { return maxrec; }
00025 long NVars() { return nvars; }
00026 long NAtts() { return natts; }
00027 QString Att(int aid);
00028 QString Var(int varid);
00029 QString VarName(int varid);
00030 long VarLen(QString name);
00031 QStringList DataString(int varid);
00032 double Data(QString varname, int i);
00033
00034 QString Comp(int c);
00035 QString Enc(int e);
00036 protected:
00037 QString Type(int t);
00038 bool isZvar(int varid);
00039 bool isZvar(QString varname);
00040 double Value(void *value,long type);
00041 #endif
00042 private:
00043 QString filename;
00044 bool fileok;
00045 #ifdef HAVE_CDF
00046 CDFid id;
00047 long ndims, enc, nvars, natts, maj, maxrec;
00048 long inquire(int type);
00049 #endif
00050 };
00051
00052 #endif //FILTERCDF_H