00001 00005 class FieldFormat 00006 00007 { 00008 public: 00009 00010 enum FieldFormat_type 00011 { 00012 CONSTANT, 00013 CONSTANT_VECTOR, 00014 FIELD_ON_FILE, 00015 FUNCTOR, 00016 MATERIAL_CONSTANTS 00017 }; 00018 00019 FieldFormat_type format; 00020 String specification; 00021 00022 00023 String fieldname; 00024 00025 00026 real constant; 00027 Ptv(NUMT) vec_constant; 00028 00029 00030 String function_name; 00031 VecSimple(real) function_prm; 00032 00033 00034 String filename; 00035 String fieldname_on_file; 00036 real time; 00037 00038 00039 Vec(NUMT) material_values; 00040 00041 FieldFormat (); 00042 virtual ~FieldFormat () {} 00043 void scan (String input); 00044 00045 00046 FieldFormat& setFieldname (const String& some_name) 00047 { fieldname = some_name; return *this; } 00048 static void defineStatic 00049 (MenuSystem& menu, const String& default_answer, const String& fieldname, 00050 int level = MAIN); 00051 void define (MenuSystem& menu, const String& default_answer, int level); 00052 FieldFormat& scan (MenuSystem& menu); 00053 00054 bool allocateAndInit (Handle(Field)& field, GridFE* grid); 00055 bool allocateAndInit (Handle(Fields)& field, GridFE* grid); 00056 bool allocateAndInit (Handle(FieldFE)& field); 00057 bool allocateAndInit (Handle(FieldsFE)& field); 00058 00059 void writeHeadings (StringList& headings, const char* fieldname); 00060 void writeResults (StringList& results); 00061 void writeExtendedResults (MultipleReporter& report, 00062 const char* fieldname = NULL, 00063 Field* field = NULL); 00064 }; 00065 00066 extern bool splitSimResFileName 00067 (String& filename, String& fieldname, real& t); 00068 00069