GemaLuaCoreLib
The GeMA Lua Core library
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
GmLuaCellGeometry Class Reference

A proxy class to export GmCellGeometry methods to the Lua environment. More...

#include <gmLuaCellGeometry.h>

Inheritance diagram for GmLuaCellGeometry:
Inheritance graph
[legend]
Collaboration diagram for GmLuaCellGeometry:
Collaboration graph
[legend]

Public Member Functions

 GmLuaCellGeometry (GmCellType cellType, const GmLogCategory &logger)
 Constructor. Receives the cell to be wrapped.
 
virtual ~GmLuaCellGeometry ()
 Destructor.
 
virtual const char * typeName () const
 Returns the object type as will be stored in the object metatable.
 
virtual void fillMetatable (lua_State *L, int index)
 Prepares the object metatable for calling methods.
 
virtual void * getClassMetatableID ()
 Returns an unique identifier to identify an user object as a GmLuaMesh object.
 
- Public Member Functions inherited from GmLuaObject
virtual ~GmLuaObject ()
 Destrutor.
 
virtual void populateMetatable (lua_State *L, int index)
 Fills the object metatable to allow for the proxy to export its methods.
 
QVariant ptrToVariant ()
 Constructs a QVariant storing a POINTER to the current object.
 
void ref ()
 Increments the object reference count. Use with care.
 

Static Public Member Functions

static int pushGeometryProxy (lua_State *L, GmCellType cellType, const GmLogCategory &logger)
 Pushes on the Lua stack a geometry proxy wrapping a geometry object with the same type as the supplied object. Returns 1.
 

Private Member Functions

int type (lua_State *L)
 Returns a string decribing the cell type ('quad4', 'quad9', 'tri3', etc)
 
int family (lua_State *L)
 Returns a string decribing the cell family type ('quad', 'tri', etc)
 
int numNodes (lua_State *L)
 Returns the number of nodes of this cell type.
 
int numVertices (lua_State *L)
 Returns the number of vertices of this cell type.
 
int numExtraDofNodes (lua_State *L)
 Returns the number of extra dof nodes of this cell type.
 
int numCoord (lua_State *L)
 Returns the number of coordinates used by nodes of this cell type.
 
int numEdges (lua_State *L)
 Returns the number of edges of this cell type.
 
int numFaces (lua_State *L)
 Returns the number of faces of this cell type (0 for "bar" alike cells)
 
int order (lua_State *L)
 Returns the cell interpolation order (1 = linear, 2 = quadratic, 3 = cubic, ...)
 
int isLine (lua_State *L)
 Is this element an 1D "line" ?
 
int isSurface (lua_State *L)
 Is this element an 2D "surface".
 
int isSolid (lua_State *L)
 Is this element an 3D "solid"?
 
int isInterface (lua_State *L)
 Is this an interface element?
 
int isHierarchical (lua_State *L)
 Is this an hierarchical element?
 
int numEdgeNodes (lua_State *L)
 Returns the number of nodes in the given edge (edge numbers between 1 and numEdges)
 
int edgeNode (lua_State *L)
 Returns the ith node belonging to the given edge. Both parameters start with 1. Extremes are the edge vertices.
 
int firstEdgeNode (lua_State *L)
 Returns the first node belonging to the given edge. Parameter start with 1.
 
int lastEdgeNode (lua_State *L)
 Returns the last node belonging to the given edge. Parameter start with 1.
 
int nodeOnEdge (lua_State *L)
 Returns true if the given (local) node index belongs to the given edge definition. Both parameters start with 1.
 
int edgeFromNodes (lua_State *L)
 Returns the edge index of the edge starting with n1 and ending with n2 or vice-versa. Both n1 and n2 should be local node indices, starting with 1. Returns nil if the two local nodes do not define an element edge.
 
int numFaceEdges (lua_State *L)
 Returns the number of edges of the given face (face numbers between 1 and numFaces)
 
int faceEdge (lua_State *L)
 Returns the ith edge belonging to the given face. Both parameters start with 1.
 
int numEdgeFaces (lua_State *L)
 
int edgeFace (lua_State *L)
 Returns the ith face belonging to the given edge. Both parameters start with 1.
 
int numFaceBoundaryNodes (lua_State *L)
 Returns the number of nodes in the boundary (edges) of the given face (face numbers between 1 and numFaces)
 
int numFaceNodes (lua_State *L)
 Returns the number of nodes of the given face (face numbers between 1 and numFaces)
 
int faceNode (lua_State *L)
 Returns the ith node belonging to the given face. Both parameters start with 1. Border numbers are enumerated first.
 
int numIncidenceNodes (lua_State *L)
 Returns the number of incident nodes in the cell node numbered nodeIndex (nodeIndex from 1 to numNodes)
 
int incidenceNode (lua_State *L)
 Returns the ith incidence node belonging to node nodeIndex (nodeIndex from 1 to numNodes, i from 1 to numIncidenceNodes(nodeIndex))
 
int numVolumeInternalNodes (lua_State *L)
 Returns the number of internal nodes of this volume cell type. Returns 0 for 1d/2d cells.
 
int volumeInternalNode (lua_State *L)
 Returns the ith internal node belonging to the volume.
 
int numFaceTypes (lua_State *L)
 Returns the number of face types for this element.
 
int faceType (lua_State *L)
 Returns the type of the given face as a string. Face index starts with 1.
 
int edgeElement (lua_State *L)
 Returns the type (as a string) of the equivalent Bar element for a 2D or 3D elements edge (edgeIndex from 1 to numEdges()) or nil if the edge has an invalid type (including bar elements)
 
int faceElement (lua_State *L)
 Returns the type (as a string) of the equivalent 2D element for a 3D element face (faceIndex from 1 to numFaces()) or nil if the edge has an invalid type.
 
int edgeElementNode (lua_State *L)
 Returns the ith node belonging to the given edge using the equivalent line element (returned by edgeElement()) node ordering (and number of nodes - conceptually they can be different). Both parameters start with 1.
 
int faceElementNode (lua_State *L)
 Returns the ith node belonging to the given face using the equivalent surface element (returned by faceElement()) node ordering (and number of nodes - conceptually they can be different). Both parameters start with 1. More...
 
int linearElement (lua_State *L)
 Returns the type (as a string) of the equivalent linear element (for a Quad9, returns a Quad4, for example).
 
int edgeLinearElement (lua_State *L)
 Returns type (as a string) of the equivalent linear element of the given element's edge, nil if invalid.
 
int faceLinearElement (lua_State *L)
 Returns type (as a string) of the equivalent linear element of the given element's face, nil if invalid.
 
int length (lua_State *L)
 Returns the length of a bar element or the length of a 2D interface element calculated at the average plane between the interface element edges. Returns 0.0 for other element types. Gets as parameters a coordinate matrix with size d x n, where d is the coordinate dimension and n the number of element nodes.
 
int area (lua_State *L)
 
int volume (lua_State *L)
 
int characteristicLength (lua_State *L)
 Returns the cell characteristic length, defined as the length for 1D elements or 2D interface elements, the square root of the area for 2D (non interface) elements or 3D interface elements and the cubic root of the volume for 3D (non interface) elements. Gets as parameters a coordinate matrix with size d x n, where d is the coordinate dimension and n the number of element nodes.
 
int characteristicDimension (lua_State *L)
 Returns the cell characteristic dimension, defined as the length for 1D elements or 2D interface elements, the area for 2D (non interface) elements or 3D interface elements and the volume for 3D (non interface) elements. Gets as parameters a coordinate matrix with size d x n, where d is the coordinate dimension and n the number of element nodes.
 
int centroidCartesian (lua_State *L)
 Returns a vector with the cartesian coordinates of the cell centroid. Gets as parameters a coordinate matrix with size d x n, where d is the coordinate dimension and n the number of element nodes.
 

Private Attributes

const GmCellGeometry _geom
 The cell geometry 'wrapped' by this proxy object.
 

Additional Inherited Members

- Protected Member Functions inherited from GmLuaObject
 GmLuaObject (const GmLogCategory &logger)
 Construtor protegido. Somente classes derivadas devem ser instanciadas.
 
virtual QString toString () const
 Default method used by the __tostring metamethod to capture the result of tostring() over an object.
 
- Protected Attributes inherited from GmLuaObject
const GmLogCategory_logger
 A logger used by the proxy when needed.
 
QAtomicInteger< int > _refCount
 Lua objects are reference counted to enable sharing them among different states. This is needed to allow for passing objects as parameters in a parallel call. The garbage collection method releases memory only for the last reference.
 

Detailed Description

A proxy class to export GmCellGeometry methods to the Lua environment.

Member Function Documentation

◆ faceElementNode()

int GmLuaCellGeometry::faceElementNode ( lua_State *  L)
private

Returns the ith node belonging to the given face using the equivalent surface element (returned by faceElement()) node ordering (and number of nodes - conceptually they can be different). Both parameters start with 1.


The documentation for this class was generated from the following files: