IoProcess
The GeMA I/O Process Plugin
Loading...
Searching...
No Matches
gmpIoProcess.h
Go to the documentation of this file.
1/************************************************************************
2**
3** Copyright (C) 2014 by Carlos Augusto Teixera Mendes
4** All rights reserved.
5**
6** This file is part of the "GeMA" software. It's use should respect
7** the terms in the license agreement that can be found together
8** with this source code.
9** It is provided AS IS, with NO WARRANTY OF ANY KIND,
10** INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR
11** A PARTICULAR PURPOSE.
12**
13************************************************************************/
14
24#ifndef _GEMA_PLUGIN_IO_PROCESS_H_
25#define _GEMA_PLUGIN_IO_PROCESS_H_
26
27#include <gmProcess.h>
28
29struct lua_State;
30class Unit;
31
32class GmFileIO;
33class GmMesh;
34class GmCellGroupSet;
35
38class GmpIoProcess : public GmProcess
39{
40public:
42 virtual ~GmpIoProcess();
43
44 // Comments on the base class
45 virtual const char* pluginName() const { return "IoProcess"; }
46
47 // Comments on the base class
48 virtual const char* pluginType() const { return "io"; }
49
50 // Comments on the base class
51 virtual void loadFunctions(LuaTable& table) { registerFunctions<GmpIoProcess>(table, processMethodTable()); }
52
53 // Comments on the base class
54 virtual QStringList functionList() const { return buildFunctionList<GmpIoProcess>(processMethodTable()); }
55
56private:
57
59
60 int print (lua_State* L);
61 int printMesh (lua_State* L);
62 int printMeshInfo (lua_State* L);
63 int printMeshNodeData (lua_State* L);
64 int printMeshCellData (lua_State* L);
65 int printMeshGaussData (lua_State* L);
66 int printMeshMemoryInfo(lua_State* L);
67 int printMeshTopology (lua_State* L);
68
69 int saveMeshFile (lua_State* L);
70 int prepareMeshFile (lua_State* L);
71 int addResultToMeshFile(lua_State* L);
72 int closeMeshFile (lua_State* L);
73 int tempMeshFile (lua_State* L);
74
75
76 //Based on old impl
77 int loadMeshFromFile (lua_State* L);
78 int updateMeshFromFile (lua_State* L);
79
80 int saveToHdf5ModelFile(lua_State* L);
81
82 GmFileIO* parseIoParameters(lua_State* L, QString fname, bool writeMode, GmMesh** mesh,
83 const GmCellGroupSet** group, QString& fileName, QVariantMap& options);
84#if 1
85 //--------------------------------------------------------------------------------------------------------------------
86 // DEPRECATED FUNCTIONS - Will be removed when the old nf and medit readers / writers are migrated to the new structure
87 //--------------------------------------------------------------------------------------------------------------------
88
89 int oldLoadMeshFromFile (lua_State* L);
90 int oldUpdateMeshFromFile (lua_State* L);
91
92 void parseSerializerParameters(lua_State* L, QString fname, GmMesh** mesh,
93 QStringList& nodeValues, QList<Unit>& nodeUnits, Unit& coordUnit,
94 QStringList& elementValues, QList<Unit>& elementUnits,
95 QString& fileName, QString& fileType, QVariantMap& options);
96#endif
97};
98
99#endif
100
virtual const GmLogCategory & logger() const
QString description() const
void registerFunctions(LuaTable &table, typename GmProcessMethodRedirector< T >::MethodRegistry *methods, bool noProgressStats=false)
QStringList buildFunctionList(typename GmProcessMethodRedirector< T >::MethodRegistry *methods) const
Basic class for the I/O Process plugin object.
Definition gmpIoProcess.h:39
int printMesh(lua_State *L)
The io.printMesh() process implementation.
Definition gmpIoProcess.cpp:116
int oldUpdateMeshFromFile(lua_State *L)
The utils.updateMeshFromFile() process implementation.
Definition gmpIoProcess.cpp:980
int prepareMeshFile(lua_State *L)
The io.prepareMeshFile() process implementation.
Definition gmpIoProcess.cpp:696
int saveToHdf5ModelFile(lua_State *L)
The io.saveToHdf5ModelFile() process implementation.
Definition gmpIoProcess.cpp:823
int printMeshCellData(lua_State *L)
The io.printMeshCellData() process implementation.
Definition gmpIoProcess.cpp:306
int oldLoadMeshFromFile(lua_State *L)
The utils.loadMeshFromFile() process implementation.
Definition gmpIoProcess.cpp:942
int closeMeshFile(lua_State *L)
Closes the result file returned by prepareMeshFile()
Definition gmpIoProcess.cpp:764
void parseSerializerParameters(lua_State *L, QString fname, GmMesh **mesh, QStringList &nodeValues, QList< Unit > &nodeUnits, Unit &coordUnit, QStringList &elementValues, QList< Unit > &elementUnits, QString &fileName, QString &fileType, QVariantMap &options)
Aux function used by both saveMeshFile(), prepareMeshFile() and loadMeshFromFile() to parse their par...
Definition gmpIoProcess.cpp:998
GmpIoProcess(GmSimulationData *simulation, QString id, QString description, const GmLogCategory &logger)
Constructor. Will be called by the plugin loading code.
Definition gmpIoProcess.cpp:66
int printMeshNodeData(lua_State *L)
The io.printMeshNodeData() process implementation.
Definition gmpIoProcess.cpp:191
int printMeshGaussData(lua_State *L)
The io.printMeshGaussData() process implementation.
Definition gmpIoProcess.cpp:427
int printMeshMemoryInfo(lua_State *L)
The io.printMeshMemoryInfo() process implementation.
Definition gmpIoProcess.cpp:495
int loadMeshFromFile(lua_State *L)
The utils.loadMeshFromFile() process implementation.
Definition gmpIoProcess.cpp:806
int print(lua_State *L)
The io.print() process implementation.
Definition gmpIoProcess.cpp:107
int printMeshInfo(lua_State *L)
The io.printMeshInfo() process implementation.
Definition gmpIoProcess.cpp:135
int updateMeshFromFile(lua_State *L)
The utils.updateMeshFromFile() process implementation.
Definition gmpIoProcess.cpp:814
int addResultToMeshFile(lua_State *L)
Adds the current state to the result file returned by prepareMeshFile(). Gets as parameters the io ob...
Definition gmpIoProcess.cpp:734
GmProcessMethodRedirector< GmpIoProcess >::MethodRegistry * processMethodTable() const
Returns the table storing the process exported function names / methods.
Definition gmpIoProcess.cpp:77
virtual ~GmpIoProcess()
Destructor.
Definition gmpIoProcess.cpp:72
GmFileIO * parseIoParameters(lua_State *L, QString fname, bool writeMode, GmMesh **mesh, const GmCellGroupSet **group, QString &fileName, QVariantMap &options)
Aux function used by both saveMeshFile(), prepareMeshFile() and loadMeshFromFile() to parse input par...
Definition gmpIoProcess.cpp:843
int tempMeshFile(lua_State *L)
Given the file returned by prepareMeshFile(), returns the name of the associated temp file or nil if ...
Definition gmpIoProcess.cpp:780
int saveMeshFile(lua_State *L)
The io.saveMeshFile() process implementation.
Definition gmpIoProcess.cpp:650
int printMeshTopology(lua_State *L)
The io.printMeshTopology() process implementation.
Definition gmpIoProcess.cpp:617