GemaMesh
The GeMA Mesh Plugin
Public Member Functions | Protected Member Functions | List of all members
GmpCellBase< Base, Proxy, CellMeshData, T, N, VN > Class Template Reference

Class for storing cell data, implementing the virtual functions needed to store per cell type data, number of nodes and properties. The cell id and active information is NOT stored by this class (it is stored by GmpCellBaseWithId). More...

#include <gmpCellBase.h>

Inheritance diagram for GmpCellBase< Base, Proxy, CellMeshData, T, N, VN >:
Inheritance graph
[legend]
Collaboration diagram for GmpCellBase< Base, Proxy, CellMeshData, T, N, VN >:
Collaboration graph
[legend]

Public Member Functions

 GmpCellBase ()
 Constructs a cell.
 
virtual int numNodes () const
 
virtual void pushProxy (lua_State *L, const GmLogCategory &logger)
 
virtual GmCellType type () const
 
virtual int propertyIndex (int propertySet) const
 
virtual bool setProperties (const int *propList, int nprop)
 

Protected Member Functions

CellMeshData * meshData () const
 Returns the mesh data object associated with this cell's mesh.
 

Detailed Description

template<class Base, class Proxy, class CellMeshData, GmCellType T, int N, int VN>
class GmpCellBase< Base, Proxy, CellMeshData, T, N, VN >

Class for storing cell data, implementing the virtual functions needed to store per cell type data, number of nodes and properties. The cell id and active information is NOT stored by this class (it is stored by GmpCellBaseWithId).

This is a template class so that we can have instances inheriting from different base classes, such as GmCell or GmElement and also to provide static implementations to type() and numNodes() avoiding the need to store more information then needed inside the cell.

For such an effect, Base should be the base class we are inheriting, Proxy the associated Lua proxy type and CellMeshData the concrete type of the GmpCellMeshData template that is being used for this mesh. Also, T should be the cell type and N the number of nodes for this cell type. VN is the number of element vertices (or "topological" nodes), ignoring any mid edge, face or volume nodes that do not contribute for the cell topology. For a Quad8 element, for example, N should be 8 but VN should be 4. This parameter is needed by the surface mesh implementation.


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