ESYS13
Revision_
|
00001 00002 /******************************************************* 00003 * 00004 * Copyright (c) 2003-2012 by University of Queensland 00005 * Earth Systems Science Computational Center (ESSCC) 00006 * http://www.uq.edu.au/esscc 00007 * 00008 * Primary Business: Queensland, Australia 00009 * Licensed under the Open Software License version 3.0 00010 * http://www.opensource.org/licenses/osl-3.0.php 00011 * 00012 *******************************************************/ 00013 00014 #ifndef __WEIPA_VISITDATA_H__ 00015 #define __WEIPA_VISITDATA_H__ 00016 00017 #include <escript/AbstractDomain.h> 00018 #include <escript/Data.h> 00019 #include <weipa/EscriptDataset.h> 00020 00021 #include <VisItInterfaceTypes_V2.h> 00022 00023 namespace weipa { 00024 00025 class VisItData { 00026 00027 public: 00028 VisItData() : runFlag(false) {} 00029 00030 void publishData(EscriptDataset_ptr ds) { dataset=ds; } 00031 void setCommandNames(std::vector<std::string> names) { cmdNames=names; } 00032 void setSimulationStatus(bool running) { runFlag=running; } 00033 00034 visit_handle getDomainList(); 00035 visit_handle getMesh(const char* name); 00036 visit_handle getSimMetaData(); 00037 visit_handle getVariable(const char* name); 00038 00039 private: 00040 void addExpressionMetadata(visit_handle smd, const std::string& name, 00041 const std::string& def, int type); 00042 void addMeshMetadata(visit_handle smd, const std::string& name, 00043 int dim, int numDoms); 00044 void addVariableMetadata(visit_handle smd, const std::string& name, 00045 const std::string& meshName, int centering, 00046 int rank); 00047 00048 bool runFlag; 00049 EscriptDataset_ptr dataset; 00050 std::vector<std::string> cmdNames; 00051 std::map<std::string, DataVar_ptr> variables; 00052 }; 00053 00054 typedef boost::shared_ptr<VisItData> VisItData_ptr; 00055 00056 00057 } // namespace weipa 00058 00059 #endif // __WEIPA_VISITDATA_H__ 00060