GemaLuaCoreLib
The GeMA Lua Core library
Classes | Namespaces | Functions
gmLuaInterpolator.h File Reference

Declaration of the GmLuaXxxxInterpolator family of classes. More...

#include "gmLuaObject.h"
#include <gmVector.h>
Include dependency graph for gmLuaInterpolator.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  GmLuaNodeToPointInterpolator
 A proxy class to export GmNodeToCellPointInterpolator, GmNodeToCellPointMInterpolator, GmNodeToElementPointInterpolator and GmNodeToElementPointMInterpolator methods to the Lua environment. More...
 
class  GmLuaGaussToPointInterpolator
 A proxy class to export GmGaussToElementPointInterpolator and GmGaussToElementPointMInterpolator methods to the Lua environment. More...
 
class  GmLuaGaussToNodeInterpolator
 A proxy class to export GmGaussToElementNodeInterpolator and GmGaussToElementNodeMInterpolator methods to the Lua environment. More...
 
class  GmLuaGaussNeighborsToNodeInterpolator
 A proxy class to export GmGaussNeighborsToNodeInterpolator and GmGaussNeighborsToNodeMInterpolator methods to the Lua environment. More...
 
class  GmLuaNodeCloudToPointInterpolator
 A proxy class to export GmNodeCloudToPointInterpolator and GmNodeCloudToPointMInterpolator methods to the Lua environment. More...
 
class  GmLuaGaussCloudToPointInterpolator
 A proxy class to export GmGaussCloudToPointInterpolator and GmGaussCloudToPointMInterpolator methods to the Lua environment. More...
 

Namespaces

 GmLuaInterpolatorUtils
 Aux functions used by several of the interpolator proxy classes.
 

Functions

int GmLuaInterpolatorUtils::pushResults (lua_State *L, const GmVector &result, const QList< GmVector > &resultList, const GmLogCategory &logger, bool resultsCanBeEmpty=false)
 Auxiliary function that given the results filing either result or resultLIst, pushes in the lua stack either a vector, a number, a table of vectors or a table of numbers. Returns 1. If resultsCanBeEmpty and the vectors have size 0, pushes nil on the stack.
 
template<class T , class P >
void GmLuaInterpolatorUtils::parseValueAccessors (lua_State *L, int vIndex, int cIndex, const T *&valueAc, QList< const T * > &valueAcList, const GmValueAccessor *&coordAc, const char *acType)
 Loads from the Lua stack the set of value accessors and the coordinate accessor, filling either valueAc or valueAcList + coordAc. The vIndex parameter gives the index on the Lua stack of the accessor/accessor table for values while cIndex gives the index for the coordinate accessor. If cIndex is -1, the coordinate accessor won't be fetched. The acType parameter is used only on error messages. Types T and P refer to the accessor type (GmValueAccessor / GmGaussAccessor) and its proxy counterpart (GmLuaValueAccessor / GmLuaGaussAccessor)
 
template<class T , class P , class V >
void GmLuaInterpolatorUtils::parseResultAccessors (lua_State *L, int index, T *&resultAc, QList< T * > &resultAcList, const V *valueAc, const QList< const V * > &valueAcList, const char *acType)
 Loads from the Lua stack the set of result accessors, if any, filling either resultAc or resultAcList. The index parameter gives the index on the Lua stack of the accessor/accessor table. valueAc and valueAcList parameters are used to check if the number of result accessors and their dimension are compatible with value accessors. The acType parameter is used only on error messages. Types T and P refer to the result accessor type (GmValueAccessor / GmGaussAccessor) and its proxy counterpart (GmLuaValueAccessor / GmLuaGaussAccessor). The V type refers to the value accessor type.
 
void GmLuaInterpolatorUtils::parseCommonParams (lua_State *L, bool nodeBased, const char *fname, const GmLogCategory **logger, int *interpType, QVariant *interpParam, int *searchMode, double *searchDomain, GmSpatialIndex **spIndex)
 Parses the set of common parameters used by all types of LuaMeshXxxToMeshXxxInterpolation() implementations. More...
 
void GmLuaInterpolatorUtils::parseCommonSplineParams (lua_State *L, bool nodeBased, int solverIndex, const char *fname, const GmLogCategory **logger, int *searchMode, double *searchDomain, GmSpatialIndex **spIndex, GmNumSolver **solver)
 Parses the set of common parameters used by all types of LuaSplineMeshXxxToMeshXxxInterpolation() implementations. More...
 
void GmLuaInterpolatorUtils::checkRuleSets (lua_State *L, const QList< GmGaussAccessor * > &list, const GmLogCategory &logger, bool warn)
 Overload for non constant accessors.
 
void GmLuaInterpolatorUtils::checkRuleSets (lua_State *L, const QList< const GmGaussAccessor * > &list, const GmLogCategory &logger, bool warn)
 Check that the rule set fo all list entries is the same.
 

Detailed Description

Declaration of the GmLuaXxxxInterpolator family of classes.

Author
Carlos Augusto Teixeira Mendes
Date
march, 2018