![]() |
GemaCoreLib
The GeMA Core library
|
A class storing an index capable of determining the number of integration points belonging to a mesh, to a cell group set or to a cell list, possibly filtered by the set of active elements, and capable of determining the linear index of the gauss point from the element id + local integration point number. More...
#include <gmGaussIndex.h>
Public Member Functions | |
virtual | ~GmGaussIndex () |
Virtual destructor. | |
virtual int | numPoints () const =0 |
Returns the number of Gauss points in the index. | |
virtual int | numCells () const =0 |
Returns the number of cells in the index. | |
virtual int | numPoints (int cellId) const =0 |
Returns the number of Gauss points for the given Cell. Returns 0 if the cell does not belongs to the set. | |
virtual int | pointIndex (int cellId, int ip) const =0 |
Given a mesh cell index and an integration point index, returns the Gauss point "linear" index, a value between 0 and numPoints()-1. Returns -1 if the the given cellId does not belong to the index set (a cell outside a cell list, for example - cell ids outside the mesh domain are invalid though). | |
virtual int | cellIp (int gpIndex, int *ip) const =0 |
Given a Gauss point "linear" index (a value from 0 to numPoints()-1), returns the mesh cell index + its integration point index by filling ip. | |
A class storing an index capable of determining the number of integration points belonging to a mesh, to a cell group set or to a cell list, possibly filtered by the set of active elements, and capable of determining the linear index of the gauss point from the element id + local integration point number.
The reverse query (from a linear index to an element id + ip) is also possible, though it might need a binary search.