92 virtual int cellId()
const = 0;
101 virtual bool active()
const = 0;
111 virtual void pushProxy(lua_State* L,
const GmLogCategory& logger) = 0;
117 const char*
typeStr()
const {
return typeToStr(type()); }
123 virtual int numNodes()
const = 0;
148 virtual int nodeIndex(
int localIndex)
const = 0;
156 virtual void nodes(
int* nodeList,
bool ghost)
const = 0;
168 virtual int propertyIndex(
int propertySet)
const = 0;
173 virtual void setActive(
bool active) = 0;
205 Q_UNUSED(globalIndex);
219 Q_UNUSED(localIndex);
234 Q_UNUSED(propList); Q_UNUSED(nprop);
238 GmCell* adjacentCell(
int sideIndex,
int* adjSideIndex = NULL)
const;
262 virtual bool isValid(
const GmValueAccessor* nodeAccessor,
double tol = 1e-5)
const;
268 virtual double quality(
const GmValueAccessor* nodeAccessor,
double tol = 1e-5)
const;
276 GmMatrix X; fillNodeMatrix(nodeAccessor, X,
true);
277 return geometry().contains(X, coord);
295 static const char* typeToStr(
GmCellType type);
296 static int strToType(
QString str);
313 virtual int meshId()
const = 0;
324 virtual void replaceCellId(
int id,
bool keepActiveFlag) { Q_UNUSED(
id); Q_UNUSED(keepActiveFlag); }
337 virtual void replaceGhostNodes(
int* ghostNodes,
int numNodes) { Q_UNUSED(ghostNodes); Q_UNUSED(numNodes); }
virtual int numGhostNodes() const
Returns the number of ghost nodes of this cell, if any.
Definition: gmCell.h:126
virtual void replaceCellId(int id, bool keepActiveFlag)
Updates the cell id. For those who really know what they are doing. This function is a very specific ...
Definition: gmCell.h:324
The cell geometry is linear, independently of the element type.
Definition: gmCell.h:51
virtual int totalNumNodes() const
Returns the total number of nodes of the cell, including normal nodes & ghost nodes.
Definition: gmCell.h:129
virtual int addGhostNode(int globalIndex)
Adds a new ghost node to the cell, returning the new node local index or -1 if there was a problem ad...
Definition: gmCell.h:203
The coordinate matrix will be filled with cell geometry and ghost nodes.
Definition: gmCell.h:43
Base interface for mesh cells.
Definition: gmCell.h:81
The coordinate matrix will be filled with cell geometry nodes only (the default, and includes extra d...
Definition: gmCell.h:40
virtual bool contains(const GmValueAccessor *nodeAccessor, const GmVector &coord) const
Returns true if the cell contains the point specified by the given cartesian coordinates 'coord'....
Definition: gmCell.h:274
Interface class for accessing and setting values from an "indexable" collection of values.
Definition: gmValueAccessor.h:59
A class used to return static metadata information about a cell geometry, along with some methods for...
Definition: gmCellGeometry.h:54
GmCellFillMode
Operation modes for the fillNodeMatrix() method.
Definition: gmCell.h:38
Integration rule base classe.
Definition: gmIntegrationRule.h:88
The operation mode is defined by a mesh property defining whether cell geometry is linear or not,...
Definition: gmCell.h:49
Base interface class for CellMesh type plugins.
Definition: gmCellMesh.h:39
The coordinate matrix will be filled with cell ghost nodes only.
Definition: gmCell.h:42
virtual GmCellGeometry geometry() const
Returns an object that contains detailed cell geometry information.
Definition: gmCell.h:120
#define GMC_API_EXPORT
Macro for controling if the class is being exported (GEMA_CORE_LIB defined) or imported (GEMA_CORE_LI...
Definition: gmCoreConfig.h:35
virtual ~GmCell()
Virtual destructor.
Definition: gmCell.h:86
virtual bool setProperties(const int *propList, int nprop)
Function allowing editable meshes to set the property indices of newlly created cells.
Definition: gmCell.h:232
The cell geometry is definied by the element type.
Definition: gmCell.h:50
GmCellType
Mesh Cell types. Don't change type orders or add types without reading comments below.
Definition: gmCellType.h:30
Class representing a category with multiple logging levels.
Definition: gmLog.h:58
The coordinate matrix will be filled with cell vertex nodes + extra dof nodes only (linear corner nod...
Definition: gmCell.h:41
GmCellGeometryMode
Operation modes for geometry related functions like length(), area(), volume(), etc.
Definition: gmCell.h:47
arma::vec GmVector
The basic type for a GeMA vector object. Currently based on an Armadillo vector.
Definition: gmVector.h:34
Declaration of the GmCellGeometry base class.
const char * typeStr() const
Returns a name describing the cell type.
Definition: gmCell.h:117
arma::mat GmMatrix
The basic type for a GeMA matrix object. Currently based on an Armadillo matrix.
Definition: gmMatrix.h:38
virtual void removeGhostNode(int localIndex)
Removes a ghost node from the cell definition given its local index.
Definition: gmCell.h:217
virtual void replaceGhostNodes(int *ghostNodes, int numNodes)
Replaces the full set of ghost nodes of the cell. This function is a very specific function that shou...
Definition: gmCell.h:337
virtual bool setNodes(const int *nodeList)
Function allowing editable meshes to set the node list of newlly created cells.
Definition: gmCell.h:183