24 #ifndef _GEMA_RESULTS_EVALSET_H_ 25 #define _GEMA_RESULTS_EVALSET_H_ 55 bool hasIpBasedLines()
const;
56 bool hasPosBasedLines()
const;
61 assert(_numNodeLines >= 0 && _numCellLines >= 0);
62 return _numNodeLines + _numCellLines + _numPoints;
68 assert(_numNodeLines >= 0 && _numCellLines >= 0);
69 assert(line >= 0 && line < numLines());
70 return line < _numNodeLines;
76 assert(_numNodeLines >= 0 && _numCellLines >= 0);
77 assert(line >= 0 && line < numLines());
78 return (_evalAt != -1) && (line >= _numNodeLines) && line < (_numNodeLines + _numCellLines);
84 bool isPosBased(
int line)
const {
return !isNodeBased(line) && !isIpBased(line); }
89 assert(_numNodeLines >= 0 && _numCellLines >= 0);
90 assert(line >= 0 && line < numLines());
91 return line >= (_numNodeLines + _numCellLines);
94 int nodeIndex (
int line)
const;
95 int cellIpIndex(
int line,
int* ip,
int* ruleSet = NULL)
const;
96 int cellPos (
int line,
bool naturalCoord,
GmVector& coord)
const;
98 QString explain(
int line)
const;
113 QString ruleId,
bool nodeBased,
int defEvalAt,
124 bool buildIpIndex (
QString& err);
127 bool cellData(
int line,
int* cellId,
GmVector& coord)
const;
bool _allMeshNodes
Should the data be evaluated at all mesh nodes? If true, _nodes will be NULL.
Definition: gmResultsEvalSet.h:134
int _ruleSet
The rule set if _evalAt is associated to integration points.
Definition: gmResultsEvalSet.h:145
int _numPoints
The number of points in _points.
Definition: gmResultsEvalSet.h:151
GmVector * _points
The set of configured extra points where data should be evaluated.
Definition: gmResultsEvalSet.h:150
bool _changed
Has the eval set data changed since the last call to resetChanges()? Set to true on the constructor.
Definition: gmResultsEvalSet.h:154
bool isNodeBased(int line) const
Returns true if the given line is associated with a node line.
Definition: gmResultsEvalSet.h:66
GmAffectedNodes
Affected node types for node based values (GM_NODE_COORDINATES, GM_NODE_ATTRIBUTE or GM_NODE_STATEVAR...
Definition: gmValueInfo.h:91
QStringList _cellGroups
The named cell groups included in _cells.
Definition: gmResultsEvalSet.h:147
int _numNodeLines
The number of lines associated with the node part. Set to -1 before prepare()
Definition: gmResultsEvalSet.h:156
Declaration of usefull configuration definitions for the Core library.
GmVector * _pointNaturalCoordinates
The set of points translated to natural coordinates.
Definition: gmResultsEvalSet.h:160
Declaration of the GmValueInfo class.
This class stores a set of cell edges or cell faces that together form a piece of the boundary of a m...
Definition: gmCellBoundary.h:43
This class stores a set of nodes belonging to a mesh. The nodes can belong to the mesh boundary but t...
Definition: gmNodeSet.h:32
int _evalAt
The evaluation point for cell values. If -1, the centroid will be used. If -2, all integration points...
Definition: gmResultsEvalSet.h:144
int * _nodes
The subset of mesh nodes in the node result set. Can be NULL.
Definition: gmResultsEvalSet.h:135
GmAffectedNodes _nodeTypes
The types of nodes returned when _allMeshNodes is true.
Definition: gmResultsEvalSet.h:155
The index data for a result rule, storing "evaluation point" data for node, cell or gauss based indic...
Definition: gmResultTrackedData.h:64
A Gauss index interface always indexing ALL the elements in either the full mesh or in the given mesh...
Definition: gmGaussIndex.h:311
Interface class for accessing and setting values from an "indexable" collection of values.
Definition: gmValueAccessor.h:59
bool isIpBased(int line) const
Returns true if the given line is associated with a cell integration point.
Definition: gmResultsEvalSet.h:74
GmMesh * _mesh
The mesh that this evaluation set is tied to.
Definition: gmResultsEvalSet.h:129
A class storing the evaluation points for a set of rules.
Definition: gmResultsEvalSet.h:46
int _numNodes
The number of entries in _nodes.
Definition: gmResultsEvalSet.h:136
Base interface class for CellMesh type plugins.
Definition: gmCellMesh.h:39
Base interface class for Spatial Index type plugins.
Definition: gmSpatialIndex.h:37
bool isUserPointBased(int line) const
Returns true if the given line is associated with a user given point.
Definition: gmResultsEvalSet.h:87
int _numCells
The number of entries in _cells.
Definition: gmResultsEvalSet.h:143
QVector< GmCellBoundary * > _cellBorders
The named cell borders included in _cells.
Definition: gmResultsEvalSet.h:146
int _numCellLines
The number of lines associated with the cell part. Set to -1 before prepare()
Definition: gmResultsEvalSet.h:157
void print(const GmMatrix &m, const GmLogCategory &logger, GmLogLevel level, int fieldWidth, char format, int precision)
Prints the matrix using the specified logger, level and precision fields.
Definition: gmMatrixUtils.cpp:34
bool _allMeshCells
Should the data be evaluated at all mesh cells? If true, _cells will be NULL.
Definition: gmResultsEvalSet.h:141
Declaration of the GmVector class.
int numLines() const
Returns the number of lines associated with this evaluation set.
Definition: gmResultsEvalSet.h:59
#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
int _nodeDim
The node coordinate dimension.
Definition: gmResultsEvalSet.h:131
int * _cells
The subset of mesh cells in the cell result set. Can be NULL.
Definition: gmResultsEvalSet.h:142
GmValueAccessor * _nodeAc
The accessor used for handling centroid queries.
Definition: gmResultsEvalSet.h:130
QVector< GmNodeSet * > _nodeSets
The named node sets included in _nodes.
Definition: gmResultsEvalSet.h:137
void resetChanges()
Resets the cahnge flag, setting it to false.
Definition: gmResultsEvalSet.h:108
GmLogLevel
Available log levels list.
Definition: gmLog.h:36
Class representing a category with multiple logging levels.
Definition: gmLog.h:58
int * _pointCells
<The index used to translate line indices into nell + ip number pairs
Definition: gmResultsEvalSet.h:159
bool changed() const
Returns the value of the changed flag. This flag is set to true on the constructor or when a mesh cha...
Definition: gmResultsEvalSet.h:105
arma::vec GmVector
The basic type for a GeMA vector object. Currently based on an Armadillo vector.
Definition: gmVector.h:34
Base interface class for Mesh type plugins.
Definition: gmMesh.h:44
QVector< GmCellBoundary * > _nodeBorders
The named cell borders included in _nodes.
Definition: gmResultsEvalSet.h:138
bool isPosBased(int line) const
Returns true if the given line is associated with a user point or with a cell centroid.
Definition: gmResultsEvalSet.h:84