GemaLuaCoreLib
The GeMA Lua Core library
gmLuaBoundaryCondition.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 _GEMALUA_BOUNDARY_CONDITION_H_
25 #define _GEMALUA_BOUNDARY_CONDITION_H_
26 
27 #include "gmLuaObject.h"
28 
32 
36 class GML_API_EXPORT GmLuaBoundaryConditionBase : public GmLuaObject
37 {
38 public:
39  virtual ~GmLuaBoundaryConditionBase();
40 
41  virtual void fillMetatable(lua_State* L, int index);
42 
43 private:
44  int id (lua_State* L);
45  int description (lua_State* L);
46  int type (lua_State* L);
47  int mesh (lua_State* L);
48  int bcType (lua_State* L);
49  int numValues (lua_State* L);
50  int numProperties (lua_State* L);
51  int propertyIds (lua_State* L);
52  int propertyInfo (lua_State* L);
53  int numNodes (lua_State* L);
54  int node (lua_State* L);
55  int cell (lua_State* L);
56  int numBoundaryCells (lua_State* L);
57  int boundaryCell (lua_State* L);
58  int boundary (lua_State* L);
59  int nodeSet (lua_State* L);
60  int setNode (lua_State* L);
61  int setCell (lua_State* L);
62  int setBoundary (lua_State* L);
63  int reloadNodeBoundaryData(lua_State* L);
64  int clear (lua_State* L);
65  int addLines (lua_State* L);
66  int removeLines (lua_State* L);
67  int addNodeLine (lua_State* L);
68  int addCellLine (lua_State* L);
69  int addBoundaryLine (lua_State* L);
70  int print (lua_State* L);
71 
72 protected:
74 
76 };
77 
80 {
81 public:
83 
84  // See comments on the base class
85  virtual const char* typeName() const { return "boundaryCondition"; }
86 
87  virtual QString toString() const;
88 
89  virtual void fillMetatable(lua_State* L, int index);
90 
92  virtual void* getClassMetatableID() { static int classID = 0; return &classID; }
93 
96 
97 private:
98  int propertyAccessor(lua_State* L);
99 };
100 
103 {
104 public:
106 
107  // See comments on the base class
108  virtual const char* typeName() const { return "contactBoundaryCondition"; }
109 
110  virtual QString toString() const;
111 
112  virtual void fillMetatable(lua_State* L, int index);
113 
115  virtual void* getClassMetatableID() { static int classID = 0; return &classID; }
116 
119 
120 private:
121  int isGlobal (lua_State* L);
122  int numPropertyValues (lua_State* L);
123  int propertyAccessor (lua_State* L);
124  int materialAccessor (lua_State* L);
125  int materialList (lua_State* L);
126  int addPropertyLines (lua_State* L);
127  int setMaterialList (lua_State* L);
128  int setPropertyMaterialId (lua_State* L);
129  int rebuildMaterialMapping(lua_State* L);
130  int contactIndex (lua_State* L);
131 };
132 
133 #endif
virtual const char * typeName() const
Returns the object type as will be stored in the object metatable.
Definition: gmLuaBoundaryCondition.h:108
Declaration of the GmLuaObject class.
GmBoundaryConditionBase * _bc
The boundary condition 'wrapped' by this proxy object.
Definition: gmLuaBoundaryCondition.h:75
GmContactBoundaryCondition * cbc() const
Returns the associated contact boundary condition object.
Definition: gmLuaBoundaryCondition.h:118
virtual void fillMetatable(lua_State *L, int index)=0
Function called by populateMetatable() to fill the metatable with exported methods by derived classes...
A proxy class to export common methods between GmBoundaryCondition and GmContact BoundaryCondition to...
Definition: gmLuaBoundaryCondition.h:36
GmBoundaryCondition * bc() const
Returns the associated boundary condition object.
Definition: gmLuaBoundaryCondition.h:95
virtual void * getClassMetatableID()
Returns an unique identifier to identify an user object as a GmLuaMesh object.
Definition: gmLuaBoundaryCondition.h:115
virtual void fillMetatable(lua_State *L, int index)
Prepares the object metatable for calling methods.
Definition: gmLuaBoundaryCondition.cpp:63
void print(const GmMatrix &m, const GmLogCategory &logger, GmLogLevel level, int fieldWidth, char format, int precision)
virtual QString toString() const
Default method used by the __tostring metamethod to capture the result of tostring() over an object.
Definition: gmLuaObject.h:55
A proxy class to export GmContactBoundaryCondition methods to the Lua environment.
Definition: gmLuaBoundaryCondition.h:102
virtual void * getClassMetatableID()
Returns an unique identifier to identify an user object as a GmLuaMesh object.
Definition: gmLuaBoundaryCondition.h:92
A proxy class to export object methods to the Lua environment.
Definition: gmLuaObject.h:35
virtual const char * typeName() const
Returns the object type as will be stored in the object metatable.
Definition: gmLuaBoundaryCondition.h:85
A proxy class to export GmBoundaryCondition methods to the Lua environment.
Definition: gmLuaBoundaryCondition.h:79