![]() |
GemaCoreLib
The GeMA Core library
|
Basic interface for describing high level file format capabilities. More...
#include <gmFileFormat.h>
Public Member Functions | |
virtual const char * | formatName () const =0 |
Returns the file format name. | |
virtual bool | supportsMultipleIterations () const =0 |
Returns true if this file type supports multiple iterations (result sets) | |
virtual bool | acceptsNodeDimension (int ndim) const =0 |
Returns true if this file format accepts meshes with nodes of the given dimension. | |
virtual int | acceptsCellType (GmCellType type) const =0 |
Does the file format accepts this cell type? Returns 0 if the cell type is not accepted, 1 if it is natively accepted or 2 if it is accepted requiring standard Gema transformations for adjusting interface elements that need extra interpolated nodes to be exported. | |
virtual const QVector< int > & | cellNumbering (GmCellType type) const =0 |
Returns the node cell type numbering order in the file format view or an empty vector for unsupported types. More... | |
virtual int | fileCellType (GmCellType type) const =0 |
Returns the cell type code as seen by the file format. Currently used only by HDF5 based formats. | |
virtual const char * | fileCellTypeName (GmCellType type) const =0 |
Returns the cell type name as seen by the exported file format. | |
virtual bool | acceptsDataType (const GmValueInfo *info, int nodeDim, int dimFilter=-1) const =0 |
Returns true if this file format can save node/element data with the specified type (especially its dimension and value set kind). The nodeDim parameter provides the mesh node dimension since some file formats only accept vectors and matrices with the same size as the mesh dimension. The dimFilter parameter specifies if a dimension filter will be applied to the data or not (dimFilter == -1) | |
virtual bool | acceptsMultipleGaussProfiles () const =0 |
Does the file supports multiple Gauss points per element type? | |
virtual bool | acceptsGaussRuleForElement (GmCellType type, const GmIntegrationRule *ir) const =0 |
Does the file support exporting data at Gauss points for an element of type type with the supplied integration rule? | |
virtual bool | acceptsDiscontinuitySet (GmDiscontinuitySet::DiscontinuityType type) const =0 |
virtual bool | supportsSplitVectors () const =0 |
Returns true if this writer prefers to split vector values into scalar values by itself. | |
virtual bool | supportsMeshChanges () const =0 |
Returns true if this writer can cope with mesh changes during the simulation. | |
Basic interface for describing high level file format capabilities.
|
pure virtual |
Returns the node cell type numbering order in the file format view or an empty vector for unsupported types.
For each cell type, the exported node ordering can be different from the natural GeMA node ordering. This function returns a vector that defines the order in which the set of GeMA cell node indices should be exported. It can have a size that is different from the number of GeMA nodes. A value of -1 means that the saved node is an extra node that should have been created as the result of the set of standard Gema transformations for changing quadratic interface elements that do not have mid nodes into the "flow" side (int2dl6 and int3dl12, for example) into quadratic quad/hex elements as specified by acceptsCellType() returning 2.
Implemented in GmXdmfFileFormat, GmNfFileFormat, and GmMeditFileFormat.