![]() |
GemaLuaCoreLib
The GeMA Lua Core library
|
A proxy class to export GmBoundaryConditionAccessor methods to the Lua environment. More...
#include <gmLuaValueAccessor.h>
Public Member Functions | |
GmLuaBoundaryConditionAccessor (GmBoundaryConditionAccessor *ac, const GmBoundaryCondition *bc, const GmLogCategory &logger, bool ownership=true) | |
Constructor. See comments on the base class. | |
virtual const char * | typeName () const |
Returns the object type as will be stored in the object metatable. | |
virtual void * | getClassMetatableID () |
Returns an unique identifier to identify an user object as a GmGaussAccessor object. | |
virtual void | fillMetatable (lua_State *L, int index) |
Prepares the object metatable for calling methods. | |
![]() | |
virtual | ~GmLuaAccessorBase () |
Destructor. | |
virtual QString | toString () const |
Default method used by the __tostring metamethod to capture the result of tostring() over an object. | |
GmBoundaryConditionAccessor * | accessor () const |
Returns the wrapped accessor. | |
![]() | |
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. | |
Private Types | |
typedef QPair< int, int > | I |
Type for an object index. Makes the implementation follow closer the one in GmLuaAccessorIndex. | |
Private Member Functions | |
I | parseIndex2 (lua_State *L, int stackPos, QString fname) const |
Parses and checks an index based on a bcIndex + listIndex number. | |
int | value (lua_State *L) |
Returns the scalar, vector or matrix value at the specified index, calculated at the specified coordinate, if available and the value is a function that requires an element coordinate. More... | |
int | valueStr (lua_State *L) |
Returns the value at the given index converted to a string (even for multivalued values). More... | |
Additional Inherited Members | |
![]() | |
GmLuaBCAccessor (GmBoundaryConditionAccessor *ac, const GmBoundaryCondition *bc, const GmLogCategory &logger, bool ownership) | |
Constructor. Receives the BoundaryConditionAccessor or ContactBoundaryConditionAccessor to be wrapped. More... | |
int | parseIndex1 (lua_State *L, int stackPos, QString fname) const |
Parses and checks an index based on boundary condition index. | |
![]() | |
GmLuaAccessorBase (GmBoundaryConditionAccessor *ac, const GmLogCategory &logger, bool ownership) | |
Constructor. Receives the ValueAccessor to be wrapped. More... | |
void | parseCoord (lua_State *L, int stackPos, QString fname, GmVector &coord) |
An auxiliary function used to parse a coordinate table / object from the lua stack. More... | |
void | parseOptions (lua_State *L, int stackPos, Options &opt) |
Aux function to parse print options for the valueStr() call if the object at stackPos is a table. | |
void | pushResult (lua_State *L, const double *val) |
Pushes an accessor result on the stack. Value can be pushed as a number (scalar) or as a matrix. | |
![]() | |
GmLuaObject (const GmLogCategory &logger) | |
Construtor protegido. Somente classes derivadas devem ser instanciadas. | |
![]() | |
const GmBoundaryCondition * | _bc |
The boundary conditions object used to validate indices in parseIndexX() | |
![]() | |
GmBoundaryConditionAccessor * | _ac |
The wrapped value accessor object. | |
bool | _owner |
Do we own the accessor? | |
![]() | |
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. | |
A proxy class to export GmBoundaryConditionAccessor methods to the Lua environment.
|
private |
Returns the scalar, vector or matrix value at the specified index, calculated at the specified coordinate, if available and the value is a function that requires an element coordinate.
Stack parameters: index (bcIndex + listIndex), optional coordinate (either a table or an object).
IMPORTANT: Following Lua spirit, the boundary condition indices are ONE based (and not zero based as in C)
The coordinate value is optional. If present it can be a lua table or a vector object.
The returned value can be a single number for scalar values or a vector/matrix object for other value types.
|
private |
Returns the value at the given index converted to a string (even for multivalued values).
Stack parameters: index(bcIndex + listIndex), optional coord (either a table or an object), optional options table. IMPORTANT: Following Lua spirit, the boundary condition indices ares ONE based (and not zero based as in C)
The options table can have the following optional fields: evalFunctions – Should we evaluate functions or do we print its name? Default = false defNil – Should we print default values as 'nil'? Default = false format – Printf like format string (ex: '12.4f')