00001 00005 class SimResFilter 00006 00007 { 00008 protected: 00009 00010 String file_ext; 00011 String module_name; 00012 String options; 00013 bool silent; 00014 static bool flipped_grid; 00015 00016 00017 public: 00018 00019 SimResFilter (const String& file_ext, const String& module_name, 00020 bool silent = false); 00021 virtual ~SimResFilter () {} 00022 00023 virtual void usage (); 00024 virtual void simresHeader (PlotSpecifications& plotspec) =0; 00025 virtual void simresFooter (PlotSpecifications& plotspec) =0; 00026 virtual void processFormatSpecificOptions 00027 (VecSimple(String)& arguments, PlotSpecifications& plotspec) =0; 00028 00029 virtual void exportScalarField 00030 ( 00031 Field& scalarfield, 00032 FieldInformation& fieldinfo, 00033 PlotSpecifications& plotspec 00034 ) =0; 00035 00036 virtual void exportVectorField 00037 ( 00038 Fields& vectorfield, 00039 FieldInformation& fieldinfo, 00040 PlotSpecifications& plotspec 00041 ) =0; 00042 00043 int driver (int argc, const char* argv[]); 00044 00045 00046 #if defined(WIN32) && defined(MFCDP_MENUS) 00047 00048 00049 00050 00051 00052 bool driver (PlotSpecifications& plotspec, String options); 00053 00054 00055 00056 00057 00058 00059 virtual void processFormatSpecificOptions 00060 (PlotSpecifications& plotspec, String& args) {} 00061 #endif 00062 00063 00064 protected: 00065 00066 void readAndProcessFields (PlotSpecifications& plotspec); 00067 void readAndProcessAllFields (PlotSpecifications& plotspec); 00068 String makeTimeFilename (real t); 00069 String makeFieldNoFilename (int f); 00070 void makeOutputFilename 00071 (FieldInformation& fieldinfo, PlotSpecifications& plotspec); 00072 void checkSimResVersion (const String& dataset); 00073 void flipGrid (Grid* g, const PlotSpecifications& plotspec); 00074 00075 public: 00076 00077 DpList(Field, DpListItemHandle) field_list; 00078 DpList(Fields),DpListItemHandle fields_list; 00079 DpList(FieldInformation),DpListItemInst field_info, fields_info; 00080 00081 00082 00083 00084 00085 }; 00086 00087