GemaMesh
The GeMA Mesh Plugin
Loading...
Searching...
No Matches
GmpCellDataDump< Vector > Class Template Reference

A helper class to implement state dump operations for a GmpCellMeshData<Vector> object. More...

#include <gmpCellDataDump.h>

Collaboration diagram for GmpCellDataDump< Vector >:

Public Member Functions

 GmpCellDataDump (GmpCellMeshData< Vector > *cd)
 Constructor.
 
 ~GmpCellDataDump ()
 Destructor.
 
bool addStateGeometryData (GmSimulationData *simData, GmMesh *mesh, GmStateDump *state, int groupId)
 Adds to the state dump the items used for storing cell information, together with number os cells by type, cells by group and boundary data.
 
bool fillDumpControlMapData (GmMesh *mesh, QVariantMap *map, const GmLogCategory &logger)
 Stores the cell mesh data control info on the stored map.
 
bool dumpControlMapDataLoaded (GmMesh *mesh, QVariantMap *map, const GmLogCategory &logger)
 Loads the map data into the object + adjusts vector sizes for later readings if necessary.
 
void releaseDumpMemory ()
 Releases the memory used by dump buffers.
 
void setState (GmStateDump *state)
 

Private Member Functions

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, const GmLogCategory &logger)
 Method called just after the aux cell buffers has been loaded. Responsible for rebuilding the cell vector.
 

Private Attributes

GmpCellMeshData< Vector > * _cd
 The cell mesh data object being dumped / recovered.
 
GmStateDump_state
 The state dump object when loading mesh data during Lua mesh model loading (always NULL during orchestration)
 
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.
 

Detailed Description

template<template< class > class Vector>
class GmpCellDataDump< Vector >

A helper class to implement state dump operations for a GmpCellMeshData<Vector> object.

Member Function Documentation

◆ addStateGeometryData()

template<template< class > class Vector>
bool GmpCellDataDump< Vector >::addStateGeometryData ( GmSimulationData * simData,
GmMesh * mesh,
GmStateDump * state,
int groupId )

Adds to the state dump the items used for storing cell information, together with number os cells by type, cells by group and boundary data.

< Our "father" dump object

< The simulation data object needed by auxCellBuffersLoaded()

< The mesh object needed by auxCellBuffersLoaded()


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