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