GemaLuaCoreLib
The GeMA Lua Core library
Loading...
Searching...
No Matches
gmLuaCellGeometry.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_CELL_GEOMETRY_H_
25#define _GEMALUA_CELL_GEOMETRY_H_
26
27#include "gmLuaObject.h"
28
29#include <gmCell.h>
30
32class GML_API_EXPORT GmLuaCellGeometry: public GmLuaObject
33{
34public:
35 GmLuaCellGeometry(GmCellType cellType, const GmLogCategory& logger);
36
37 virtual ~GmLuaCellGeometry();
38
39 // See comments on the base class
40 virtual const char* typeName() const { return "geometry"; }
41
42 virtual void fillMetatable(lua_State* L, int index);
43
45 virtual void* getClassMetatableID() { static int classID = 0; return &classID; }
46
47 static int pushGeometryProxy(lua_State* L, GmCellType cellType, const GmLogCategory& logger);
48
49private:
50 int type (lua_State* L);
51 int family (lua_State* L);
52 int numNodes (lua_State* L);
53 int numVertices (lua_State* L);
54 int numExtraDofNodes (lua_State* L);
55 int numCoord (lua_State* L);
56 int numEdges (lua_State* L);
57 int numFaces (lua_State* L);
58 int order (lua_State* L);
59 int isLine (lua_State* L);
60 int isSurface (lua_State* L);
61 int isSolid (lua_State* L);
62 int isInterface (lua_State* L);
63 int isHierarchical (lua_State* L);
64 int numEdgeNodes (lua_State* L);
65 int edgeNode (lua_State* L);
66 int firstEdgeNode (lua_State* L);
67 int lastEdgeNode (lua_State* L);
68 int nodeOnEdge (lua_State* L);
69 int edgeFromNodes (lua_State* L);
70 int numFaceEdges (lua_State* L);
71 int faceEdge (lua_State* L);
72 int numEdgeFaces (lua_State* L);
73 int edgeFace (lua_State* L);
74 int numFaceBoundaryNodes (lua_State* L);
75 int numFaceNodes (lua_State* L);
76 int faceNode (lua_State* L);
77 int numIncidenceNodes (lua_State* L);
78 int incidenceNode (lua_State* L);
79 int numVolumeInternalNodes (lua_State* L);
80 int volumeInternalNode (lua_State* L);
81 int numFaceTypes (lua_State* L);
82 int faceType (lua_State* L);
83 int edgeElement (lua_State* L);
84 int faceElement (lua_State* L);
85 int edgeElementNode (lua_State* L);
86 int faceElementNode (lua_State* L);
87 int linearElement (lua_State* L);
88 int edgeLinearElement (lua_State* L);
89 int faceLinearElement (lua_State* L);
90 int numInterfaceContactSides (lua_State* L);
91 int interfaceContactSide (lua_State* L);
92 int numInterfaceApertureSides(lua_State* L);
93 int interfaceApertureSide (lua_State* L);
94 int numInterfaceContactEdges (lua_State* L);
95 int interfaceContactEdge (lua_State* L);
96 int numInterfaceApertureEdges(lua_State* L);
97 int interfaceApertureEdge (lua_State* L);
98 int length (lua_State* L);
99 int area (lua_State* L);
100 int volume (lua_State* L);
101 int characteristicLength (lua_State* L);
102 int characteristicDimension (lua_State* L);
103 int centroidCartesian (lua_State* L);
104 int localAxis (lua_State* L);
105
107};
108
109
110#endif
A proxy class to export GmCellGeometry methods to the Lua environment.
Definition gmLuaCellGeometry.h:33
virtual void * getClassMetatableID()
Returns an unique identifier to identify an user object as a GmLuaMesh object.
Definition gmLuaCellGeometry.h:45
virtual const char * typeName() const
Returns the object type as will be stored in the object metatable.
Definition gmLuaCellGeometry.h:40
const GmCellGeometry _geom
The cell geometry 'wrapped' by this proxy object.
Definition gmLuaCellGeometry.h:106
A proxy class to export object methods to the Lua environment.
Definition gmLuaObject.h:36
virtual void fillMetatable(lua_State *L, int index)=0
Function called by populateMetatable() to fill the metatable with exported methods by derived classes...
GmCellType
Declaration of the GmLuaObject class.