![]() |
GemaMesh
The GeMA Mesh Plugin
|
Auxiliar structure used to share data between GmpGemaCellMesh and GmpMeshLoader. More...
#include <gmpGemaCellMeshData.h>


Public Member Functions | |
| GmpGemaCellMeshData (GmCellMesh *mesh) | |
| Constructor. | |
| virtual | ~GmpGemaCellMeshData () |
| Virtual destructor. | |
| virtual Vector< int > * | cellNodesVector () |
| virtual void | updateCellNodeOffset (GmCell *c, int offset) |
| virtual void | releaseMemory (bool clearBoundaryData=true) |
| Releases all the memory DIRECTLY owned by the object. | |
| int * | cellNodesPtr (int offset) |
| Returns a pointer to vector region where the node indices for the given cell are stored. | |
| virtual size_t | cellMemory () const |
| Returns the approximate memory used for storing mesh cells. | |
| virtual bool | addStateGeometryData (GmSimulationData *simData, GmMesh *mesh, GmpMeshLoaderCellAllocator alloc, GmStateDump *state, int groupId) |
| Add to the state dump item the vectors storing cell node information. | |
Public Member Functions inherited from GmpCellMeshData< Vector > | |
| GmpCellMeshData (GmCellMesh *mesh) | |
| Constructor. | |
| virtual | ~GmpCellMeshData () |
| Virtual destructor. | |
| int * | cellPropertiesPtr (int cellId) |
| Returns a pointer to vector region where the property indices for the given cell are stored. Assumes that there are property sets associated with the mesh! | |
| virtual int | addCells (GmCellMesh *mesh, int *addedCellsByType, GmpMeshLoaderCellAllocator alloc, QList< GmValueInfo * > infoList=QList< GmValueInfo * >()) |
| virtual int | addCellGroup (QString groupName) |
| Add a new cell group. | |
| virtual bool | addCellsToGroup (int groupId, const QVector< int > &cellIds) |
| Add cells to the given cell group. Assumes no intersection with existing group content. | |
| virtual bool | addCellsToGroup (int groupId, const QVector< QPair< int, int >> &cellIds) |
| Add cells to the given cell group from cell ranges. Assumes no intersection with existing group content. | |
| virtual void | clear (GmCellMesh *mesh) |
| Removes all mesh cells + removes all values from cell based value sets, preserving object state so that future cell addition can be made. More... | |
| void | increaseNumCells (int nCells) |
| size_t | cellGroupsMemory () const |
| Returns the approximate memory used for storing cell groups. | |
| size_t | cellBoundariesMemory () const |
| Returns the approximate memory used for storing cell boundaries. | |
| void | setGhostEnabled (bool state) |
| bool | resizeValueSets (const QList< GmValueSet * > &valueSets, int numAddedCells) |
| Resizes the given value sets, adding to them the specified number of cells. | |
| bool | resizeGaussValueSets (GmElementMesh *emesh, int *addedCellsByType) |
| Resizes the mesh Gauss attributes + Gauss indices, adding to them the specified number of cells per type. | |
| bool | buildTopologyStructure (GmCellMesh *mesh) |
| Builds the necessary topological structure to allow for topological queries to be performed. | |
| virtual bool | fillDumpControlMapData (GmMesh *mesh, QVariantMap *map, const GmLogCategory &logger) |
| Stores the cell mesh data control info on the stored map. | |
| virtual bool | dumpControlMapDataLoaded (GmMesh *mesh, QVariantMap *map, const GmLogCategory &logger) |
| Loads the map data into the object + adjusts vector sizes for later readings if necessary. | |
| bool | fillAuxCellBuffers (int *cellSavedData, int *baseCellType, GmMesh *mesh, const GmLogCategory &logger) |
| Fills the set of auxiliar buffers needed when dumping the mesh to save cell types+active info and/or ghost nodes. Checks if the buffers are needed and, if affirmative, fills them. The cellSaved data is filled with 0 if no buffer is needed, 1 for type+active needed, 2 for ghost info needed and 3 for type+active+ghost needed. The baseCellType is filled with the single mesh cell type if the types+active vector is not needed or with -1 otherwise. | |
| bool | auxCellBuffersLoaded (GmSimulationData *simData, GmMesh *mesh, GmpMeshLoaderCellAllocator alloc, const GmLogCategory &logger) |
| Method called just after the aux cell buffers has been loaded. Responsible for rebuilding the cell vector. | |
| virtual void | releaseDumpMemory () |
| Releases the memory used by dump buffers. | |
Public Member Functions inherited from GmpCellMeshDataBase | |
| GmpCellMeshDataBase (GmCellMesh *mesh) | |
| Constructor. | |
| virtual | ~GmpCellMeshDataBase () |
| Virtual destructor. | |
| bool | hierarchicalElements () const |
| Returns true if the mesh uses hierarchical elements, false otherwise. | |
Public Attributes | |
| Vector< int > | _cellNodeIndices |
| The list of cell nodes storing, in order, the set of all cell nodes. Its size is equal to the sum of the products of the number of cells of each type present in the mesh times the number of nodes of each type. The offset stored per cell gives the starting index in this list for the nodes of that cell. | |
Public Attributes inherited from GmpCellMeshData< Vector > | |
| int | _numCells |
| The total number of cells. | |
| int | _numActiveCells |
| The total number of active cells in the mesh. | |
| Vector< GmCell * > | _cells |
| The cell vector (size equal to _numCells) | |
| int | _cellsByType [GM_NUM_CELL_TYPES] |
| A vector storing the number of cells per cell type. | |
| int | _activeCellsByType [GM_NUM_CELL_TYPES] |
| A vector storing the number of active cells per cell type. | |
| bool | _singleCellType |
| If set to true, the mesh has only one cell type and other types can NOT be added to it. | |
| int | _maxNumNodes |
| The maximum number of nodes among mesh cell types in use by the mesh. | |
| bool | _ghostEnabled |
| Can the cells store ghost nodes? (_maxNumGhostNodes can be zero if the mesh supports ghost nodes but includes none) | |
| int | _maxNumGhostNodes |
| The maximum number of ghost nodes among mesh cells. | |
| int | _maxTotalNumNodes |
| The maximum number of nodes (common + ghost) among mesh cells. | |
| QStringList | _cellGroupIds |
| A list with available cell group names. | |
| QList< int > | _numCellsInGroup |
| A list with the number of cells in each cell group. Its size should be equal to _cellGroupIds.size() | |
| QList< int * > | _cellGroupCells |
| A list with a vector of cell Ids for each cell group. Its size should be equal to _cellGroupIds.size() | |
| QMap< QString, GmCellBoundary * > | _boundaryGroups |
| A map with the definition of each boundary group associated with the mesh. Map entries are instances of the GmpGemaCellBoundary class. | |
| QList< GmPropertySet * > | _propertySets |
| The list of property sets "indexed" by every cell. The order of property sets in this list is the same as the one used in calls to GmCell::propertyIndex() | |
| Vector< int > | _cellPropertyIndices |
| A vector with size equal to _numCells * _propertySets.size() continuously storing the cell's property indices. | |
| bool | _buildEdgeMap |
| The topology structure, if already built. | |
| UibhmTopologyBase * | _topology |
| GmCellMeshTopology * | _topoQuery |
| unsigned char * | _cellDumpTypeActiveData |
| A vector storing temporary cell types + active data when needed for dumping code. If different from NULL, its size is equal to _numCells. The active info is stored at the most significant bit of each byte (set to 1 if the cell is active). | |
| int | _cellDumpTypeActiveDataSize |
| The size of the vector _cellDumpTypeActiveData. Needed since _numCells is not zero when the vector is NULL. | |
| int * | _cellDumpGhostData |
| A vector storing temporary information about ghost nodes when needed for dumping code. If different from NULL, it stores _numCells entries with the number of ghost nodes of each cell, followed by the set of ghost nodes of each one. | |
| int | _cellDumpGhostDataSize |
| The size of the vector _cellDumpGhostData. | |
| QVariantMap * | _cellDumpLoadedMap |
| The map with loaded control data. Filled (different from NULL) only during the load process. | |
| GmStateDump * | _state |
Public Attributes inherited from GmpCellMeshDataBase | |
| int | _meshId |
| Stores the mesh index in _meshTable for the current mesh. | |
| int | _hierarchicalIndex |
| The hierarchical order index in _hTable if this mesh has hierarchical elements or -1 if elements are not hierarchical. | |
Private Member Functions | |
| void | releaseOwnMemory () |
| Releases memory owned directly by this class, without releasing memory owned by the base class. | |
Additional Inherited Members | |
Static Public Member Functions inherited from GmpCellMeshDataBase | |
| static int | hierarchicalOrderIndex (int P, int Q) |
| Returns the table index that matches the given hierarchical element P & Q orders or -1 if (P, Q) forms a new order and the internal table already includes GmpCellMeshDataMaxHTypes entries. More... | |
| static int | hierarchicalPOrder (int index) |
| Returns the P order for hierarchical elements associated with the given index (returned by hierarchicalOrderIndex()), or 0 if elements are not hierarchical. | |
| static int | hierarchicalQOrder (int index) |
| Returns the Q order for hierarchical elements associated with the given index (returned by hierarchicalOrderIndex()), or 0 if elements are not hierarchical. | |
| static int | newMeshId (GmCellMesh *mesh, GmpCellMeshDataBase *data) |
| Returns the next available mesh id, storing mesh in the mesh table at the returned index. If no room exists for a new mesh, returns -1. | |
| static GmCellMesh * | mesh (int meshId) |
| Returns the mesh pointer associated with the given mesh id. | |
| static GmpCellMeshDataBase * | meshData (int meshId) |
| Returns the mesh data pointer associated with the given mesh id. | |
Static Public Attributes inherited from GmpCellMeshDataBase | |
| static const int | maxHTypes = GmpCellMeshDataMaxHTypes |
Static Protected Attributes inherited from GmpCellMeshDataBase | |
| static QPair< int, int > | _hTable [GmpCellMeshDataMaxHTypes] |
| Table storing the set of used orders for hierarchical elements. | |
| static int | _hTableNumUsedSlots = 0 |
| The number of used entries in _hTable. More... | |
| static GmCellMesh * | _meshTable [GMP_GEMAMESH_MAX_NUM_MESHES] |
| Table storing the set of created cell meshes. More... | |
| static GmpCellMeshDataBase * | _meshDataTable [GMP_GEMAMESH_MAX_NUM_MESHES] |
| Table storing the set of created cell mesh data objects. | |
Auxiliar structure used to share data between GmpGemaCellMesh and GmpMeshLoader.
1.8.15