GemaMesh
The GeMA Mesh Plugin
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
GmpCellMeshBase< Mesh, CoordAcc, CoordGhostAcc, Data, CellData, Vector > Class Template Reference

Basic class for implementing a mesh with support for cells. More...

#include <gmpCellMeshBase.h>

Inheritance diagram for GmpCellMeshBase< Mesh, CoordAcc, CoordGhostAcc, Data, CellData, Vector >:
Inheritance graph
[legend]
Collaboration diagram for GmpCellMeshBase< Mesh, CoordAcc, CoordGhostAcc, Data, CellData, Vector >:
Collaboration graph
[legend]

Public Member Functions

 GmpCellMeshBase (GmSimulationData *simulation, QString id, QString description, const GmLogCategory &logger)
 Constructor. Will be called by the plugin loading code.
 
virtual ~GmpCellMeshBase ()
 Destructor.
 
virtual bool hasCapability (QString capabilityName) const
 
virtual int numCells () const
 
virtual int numActiveCells () const
 
virtual const GmCellcell (int cellIndex) const
 
virtual GmCellcell (int cellIndex)
 
virtual const GmCellMeshTopologytopology (bool create=true) const
 
virtual void clearTopology ()
 
virtual const int * numCellTypes () const
 
virtual const int * numActiveCellTypes () const
 
virtual int maxNumCellNodes () const
 
virtual int maxNumCellGhostNodes () const
 
virtual int maxTotalNumCellNodes () const
 
virtual void ghostNodesUpdated (int nghost, int ntotal)
 
virtual void activeCellUpdated (GmCellType type, bool active)
 
virtual QStringList cellGroupIds () const
 
virtual int numCellsInGroup (int groupIndex) const
 
virtual const GmCellcellInGroup (int groupIndex, int cellIndex) const
 
virtual GmCellcellInGroup (int groupIndex, int cellIndex)
 
virtual int addCellGroup (QString groupName)
 
virtual bool addCellsToGroup (int groupId, const QVector< int > &cellIds)
 
virtual bool addCellsToGroup (int groupId, const QVector< QPair< int, int >> &cellIds)
 
virtual const QMap< QString, GmCellBoundary * > & cellBoundaryGroups () const
 
virtual const QList< GmPropertySet * > & propertySets () const
 
virtual int propertySetIndex (QString id) const
 
virtual int addCells (int *numCellTypes)
 
virtual QList< int > addedCells () const
 
virtual void clearAddedCells ()
 
virtual void emitMeshChanged ()
 
virtual void clear ()
 
virtual CellData * cellData ()
 Virtual function that should be overriden for derived classes that need to load cells.
 
virtual size_t cellMemory () const
 
virtual size_t cellGroupsMemory () const
 
virtual size_t cellBoundariesMemory () const
 
- Public Member Functions inherited from GmpMeshBase< Mesh, CoordAcc, CoordGhostAcc, Data, CellData, Vector >
 GmpMeshBase (GmSimulationData *simulation, QString id, QString description, const GmLogCategory &logger)
 Constructor. Will be called by the plugin loading code.
 
virtual ~GmpMeshBase ()
 Destructor.
 
virtual const char * pluginName () const
 
virtual const char * pluginType () const
 
virtual void pushProxy (lua_State *L, const GmLogCategory &logger)
 
virtual bool loadPrivateData (LuaTable &table)
 See behaviour comments on the base class. When inheriting from this class, the idea is that this function does not need to be overriden. Only cellData() and cellAllocator() should be extended.
 
virtual GmValueInfonodeCoordInfo () const
 
virtual GmValueAccessornodeCoordAccessor (Unit desiredUnit, const GmLogCategory &logger) const
 
virtual int numNodes () const
 
virtual int numGhostNodes () const
 
virtual const QMap< QString, GmNodeSet * > & nodeSets () const
 
virtual int addNodes (int numNodes)
 
virtual int addGhostNodes (int numNodes)
 
virtual size_t nodeMemory () const
 
virtual size_t nodeSetsMemory () const
 

Protected Member Functions

virtual bool addStateGeometryData (GmStateDump *state, int groupId)
 
virtual bool fillDumpControlMapData (QVariantMap *map, const GmLogCategory &logger)
 
virtual bool dumpControlMapDataLoaded (QVariantMap *map, const GmLogCategory &logger)
 
- Protected Member Functions inherited from GmpMeshBase< Mesh, CoordAcc, CoordGhostAcc, Data, CellData, Vector >
virtual GmpMeshLoaderCellAllocator cellAllocator (bool ghostSupport, bool hSupport) const
 Virtual function that should be overriden for derived classes that need to load cells. The ghostSupport parameter defines if ghost nodes support is desired or not. The hSupport is used for specifying if support for hierarchical elements is required (meshes must have eithar "normal" elements or hierarchical elements). If set to true, ghostSupport must also be set to true.
 
virtual GmpMeshLoader< Vector > * meshLoader ()
 Returns the mesh loader used to load mesh data. This function should be replaced for using a custom mesh loader.
 
virtual int controlMapStateItemType ()
 

Protected Attributes

CellData _cd
 The complete cell data.
 
int _oldNumCells
 The old number of cells that the mesh had before calls to addCells()
 
- Protected Attributes inherited from GmpMeshBase< Mesh, CoordAcc, CoordGhostAcc, Data, CellData, Vector >
Data _nd
 The complete node data.
 

Detailed Description

template<class Mesh, class CoordAcc, class CoordGhostAcc, class Data, class CellData, template< class > class Vector>
class GmpCellMeshBase< Mesh, CoordAcc, CoordGhostAcc, Data, CellData, Vector >

Basic class for implementing a mesh with support for cells.

See comments on GmpMeshBase for a basic rational for why this is a template class. The Mesh parameter should be a mesh class. The CoordAcc parameter should be a accessor class The CoordGhostAcc parameter should be a accessor class The Data parameter should be a mesh data class The CellData parameter should be a cell mesh data class


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