![]() |
GemaLuaCoreLib
The GeMA Lua Core library
|
A proxy class to export GmValueAccessor methods to the Lua environment. More...
#include <gmLuaValueAccessor.h>
Public Member Functions | |
GmLuaValueAccessor (GmValueAccessor *ac, const GmLogCategory &logger, bool ownership=true) | |
Constructor. | |
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 GmValueAccessor 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. | |
GmValueAccessor * | 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. | |
Protected Member Functions | |
virtual int | parseIndex (lua_State *L, int stackPos, QString fname) const |
Parses and checks an int index. | |
![]() | |
GmLuaAccessorIndex (GmValueAccessor *ac, const GmLogCategory &logger, bool ownership) | |
Constructor. Receives the ValueAccessor to be wrapped. More... | |
![]() | |
GmLuaAccessorBase (GmValueAccessor *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. | |
Protected Attributes | |
bool | _isGhostAc |
Flags stating if the current accessor accepts ghost indices or not. | |
![]() | |
GmValueAccessor * | _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. | |
Private Member Functions | |
int | adjustLinearIndex (lua_State *L) |
Returns the adjusted linear index when working with accessors for ghost only data sets. More... | |
int | value (lua_State *L) |
Returns the scalar, vector or matrix value at the specified index. More... | |
int | valueStr (lua_State *L) |
Returns the value at the given index converted to a string (even for multivalued values). More... | |
A proxy class to export GmValueAccessor methods to the Lua environment.
|
private |
Returns the adjusted linear index when working with accessors for ghost only data sets.
Parameters are the original index and the mesh or the original index and the index of the first mesh ghost node.
Returns nil if the linear index is out of the accessor range (a ghost index for a geometry only accessor or a geometry index for a ghost only accessor).
|
private |
Returns the scalar, vector or matrix value at the specified index.
Stack parameters: index
IMPORTANT: Following Lua spirit, the index is ONE based (and not zero based as in C)
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, optional options table. IMPORTANT: Following Lua spirit, the index is 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')