FemProcess
The GeMA Fem Process Plugin
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
GmpFemPhysicsCommonLuaMaterial< Base > Class Template Reference

A class that implements the common behaviour for physics Lua materials. The template parameter provides the base class from which GmpFemPhysicsCommonLuaMaterial inherits. It should be GmpFemPhysicsCommonMaterial or a direct child of it that adds another specific set of interfaces, like GmpMechanicalMaterial. More...

#include <gmpFemPhysicsCommonLuaMaterial.h>

Inheritance diagram for GmpFemPhysicsCommonLuaMaterial< Base >:
Inheritance graph
[legend]
Collaboration diagram for GmpFemPhysicsCommonLuaMaterial< Base >:
Collaboration graph
[legend]

Public Types

typedef GmpFemPhysicsCommonLuaMaterialImp::CallData CallData
 Duplicate Imp typedef as our own.
 

Public Member Functions

 GmpFemPhysicsCommonLuaMaterial (const GmPluginData *pdata, int typeIndex, QString typeName, const GmLogCategory &logger)
 Common Lua material constructor. Receives the PluginData object with the material especification plus its type name and index in order for a class to be able to handle multiple types.
 
virtual ~GmpFemPhysicsCommonLuaMaterial ()
 Destructor.
 
virtual const QVariantMap * materialMetaDataMap ()
 
virtual bool checkLoadedData (const GmElement *e) const
 
CallDataprepareUserMethodCall (QString fname, const GmElement *e, int ip, const GmVector *coord, const char *userSubTable=NULL, GmpFemPhysicsCommonLuaMaterialImp::GetFieldDataT userGetF=NULL, GmpFemPhysicsCommonLuaMaterialImp::SetFieldDataT userSetF=NULL, const void *userContext=NULL) const
 

Static Public Member Functions

static QVariant propertyAccessorValueToVariant (GmCellAccessor *ac, const GmElement *e, int ip, const GmVector *coord, const GmLogCategory &logger)
 
static QVariant nodeAccessorValueToVariant (GmValueAccessor *ac, GmValueAccessor *coordAc, const GmElement *e, int ip, const GmVector *coord, GmInterpolatorType interpType, QVariant interpParam, const GmLogCategory &logger)
 
static QVariant gaussAccessorValueToVariant (GmGaussAccessor *ac, const GmElement *e, int ip, const GmVector *coord, const GmLogCategory &logger)
 
static void setGaussAccessorValueFromVariant (GmGaussAccessor *ac, const GmElement *e, int ip, const QVariant &v)
 
static bool fillMatrixFromVariant (GmMatrix &mat, int nlin, int ncol, const QVariant &v, QString &err)
 

Protected Member Functions

const GmPluginDatapluginData () const
 

Protected Attributes

GmpFemPhysicsCommonLuaMaterialImp_d
 The implementation object.
 

Detailed Description

template<class Base>
class GmpFemPhysicsCommonLuaMaterial< Base >

A class that implements the common behaviour for physics Lua materials. The template parameter provides the base class from which GmpFemPhysicsCommonLuaMaterial inherits. It should be GmpFemPhysicsCommonMaterial or a direct child of it that adds another specific set of interfaces, like GmpMechanicalMaterial.

Since the concrete implementation of the GmpFemPhysicsCommonMaterial virtual methods implemented by this class is independent of the template base class, their code is given by the auxiliary, non-template classe, GmpFemPhysicsCommonLuaMaterialImp, avoiding the need for all the implementation to reside in the header file (explicitely instancing the classes in the cpp file is impossible since we don't know the base classes and they are implemented in different plugins)


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