24#ifndef _GEMA_NF_FILE_WRITER_H_
25#define _GEMA_NF_FILE_WRITER_H_
42 const int maxNodeIdChars = 10;
46 using wNFunc = std::function<int(
char*,
int)>;
56 const QVariantMap& options,
bool multipleResults,
bool gaussValues,
bool discValues,
65 const UnitConverter* conv,
const double* scaleFactor,
const double* offset)
67 Q_UNUSED(sets); Q_UNUSED(mode); Q_UNUSED(conv); Q_UNUSED(scaleFactor); Q_UNUSED(offset);
77 virtual bool endWrite();
78 virtual bool closeFiles(
bool deleteFiles =
false);
91 bool copyResultData(FILE* srcFile, FILE* dstFile, qint64 size = 0);
97 void writeResultsHeader();
106 void fillCellTopoBuffer(
const GmCellMesh* mesh,
int start,
int count,
int nnodes,
const char* afterMaterial,
Base interface for mesh cells.
Definition gmCell.h:88
Base interface class for CellMesh type plugins.
Definition gmCellMesh.h:40
Base interface for FEM (finite element) meshes.
Definition gmElementMesh.h:42
A generic auxiliary class for managing the various options that can be used to define the set of node...
Definition gmFileFilter.h:47
DumpMode
The dump mode when creating the file.
Definition gmFileIO.h:72
DiscontinuityDataMode
The selected mode when saving discontinuity data.
Definition gmFileIO.h:80
Definition gmFileIOUtils.h:48
Basic interface for file serializers.
Definition gmFileWriter.h:37
Integration rule base classe.
Definition gmIntegrationRule.h:89
Class representing a category with multiple logging levels.
Definition gmLog.h:58
Base interface class for Mesh type plugins.
Definition gmMesh.h:48
A file serializer for saving data in the "Neutral File" file format.
Definition gmNfFileWriter.h:41
int _intRuleSet
The mesh integration rule set that will be used to export values.
Definition gmNfFileWriter.h:124
int _nresults
The number of added result cases.
Definition gmNfFileWriter.h:127
int _elementRule[GM_NUM_CELL_TYPES]
The integration rule bound to each element type.
Definition gmNfFileWriter.h:125
virtual bool addSavedItemsToMap(QVariantMap &map)
This function should add to map any internal serializer state that must be saved on a dump operation,...
Definition gmNfFileWriter.cpp:1200
bool _useModelOrder
Should we keep the internal node/cell order while saving or should we translate them to the original ...
Definition gmNfFileWriter.h:129
virtual GmFileFormat * fileFormat()
Returns the file format of the serializer.
Definition gmNfFileWriter.h:84
const GmSimulationData * _simData
The simulation data that was used to create the file.
Definition gmNfFileWriter.h:134
bool _multipleResults
Are we saving multiple result sets?
Definition gmNfFileWriter.h:137
void saveIntegrationRules(const GmElementMesh *mesh)
Save integration rule information and fills _elementRule with the mapping between types and integrati...
Definition gmNfFileWriter.cpp:1126
virtual ~GmNfFileWriter()
Destructor.
Definition gmNfFileWriter.cpp:73
FILE * _tempFile
The temporary file file handler (used for multiple result sets)
Definition gmNfFileWriter.h:121
virtual bool loadSavedItemsFromMap(QVariantMap &map)
This function should retrieve from the given map any internal writer state that was saved on a dump o...
Definition gmNfFileWriter.cpp:1218
bool _saveDisplacements
Save displacement data?
Definition gmNfFileWriter.h:128
QString _nfFileName
The neutral file file name.
Definition gmNfFileWriter.h:119
virtual bool saveDiscontinuities(const QVector< GmDiscontinuitySet * > &sets, GmFileIO::DiscontinuityDataMode mode, const UnitConverter *conv, const double *scaleFactor, const double *offset)
Save discontinuity geometry data to the file. THe mode parameter defines which data should be saved....
Definition gmNfFileWriter.h:64
virtual void flushFiles()
Flush opened files.
Definition gmNfFileWriter.cpp:1042
int _materialGroup
The material group used to identify cell materials.
Definition gmNfFileWriter.h:123
bool copyResultData(FILE *srcFile, FILE *dstFile, qint64 size=0)
Appends size bytes from srcFile to dstFile.
Definition gmNfFileWriter.cpp:1070
virtual bool saveGeometry(GmValueAccessor *nodeAc, const double *scaleFactor, const double *offset)
Save mesh node coordinates, cell geometry and gauss rule set coordinates (if needed) to the file,...
Definition gmNfFileWriter.cpp:179
FILE * _nfFile
The neutral file file handle.
Definition gmNfFileWriter.h:120
bool _saveGaussData
Should we save gauss point data?
Definition gmNfFileWriter.h:136
virtual bool saveData(const QVector< GmNodeAcResultsDataSrc * > &nodeData, const QVector< GmCellAcResultsDataSrc * > &cellData, const QVector< GmGaussAcResultsDataSrc * > &gaussData, int extraColumns, const QVector< int > &propertySets)
Saves the current result set to the file for the node, cells and Gauss points as defined by the filte...
Definition gmNfFileWriter.cpp:530
const GmFileFilter * _filter
The file filter that was used to create the file.
Definition gmNfFileWriter.h:133
virtual bool dumpSupport() const
This function should return true if this serializer supports saving dump files.
Definition gmNfFileWriter.cpp:1186
void saveMaterialGroup(const GmCellMesh *mesh)
Save material information.
Definition gmNfFileWriter.cpp:1105
virtual bool closeFiles(bool deleteFiles=false)
Closes the set of files opened by a call to createFiles(). Will be called automatically by the destru...
Definition gmNfFileWriter.cpp:993
void findMaterialGroup(const GmMesh *mesh, const QVariantMap &options)
Set _materialGroup with the property set index that will be used to exposrt material inidces.
Definition gmNfFileWriter.cpp:1082
virtual QString tempFile()
Returns, if any, the name of the temp file used for the operation started with createFiles()
Definition gmNfFileWriter.cpp:1033
virtual bool setCurrentTime(int iter, double time)
Sets the current time step, valid for the next calls to saveGeometry() and/or saveData()....
Definition gmNfFileWriter.cpp:1050
QTemporaryFile * _tempFileObj
The Qt object used to safelly create the temp object in a "sane" place.
Definition gmNfFileWriter.h:122
GmNfFileWriter(const GmLogCategory &logger)
Default constructor.
Definition gmNfFileWriter.cpp:51
Auxiliar class used to store the complete set of simulation data.
Definition gmSimulationData.h:55
Task manager used for handling parallel executions.
Definition gmTaskManager.h:84
Interface class for accessing and setting values from an "indexable" collection of values.
Definition gmValueAccessor.h:60
Declaration of the GmCell class.
@ GM_NUM_CELL_TYPES
NOT a cell type. Stores the number of available types.
Definition gmCellType.h:77
Declaration of the GmFileIOUtils class.
Declaration of the GmFileWriter class (old GmFileResultsSerializer)
arma::vec GmVector
The basic type for a GeMA vector object. Currently based on an Armadillo vector.
Definition gmVector.h:34
Definition gmNfFileWriter.h:43