GemaCoreLib
The GeMA Core library
Public Member Functions | List of all members
GmFileFormat Class Referenceabstract

Basic interface for describing high level file format capabilities. More...

#include <gmFileFormat.h>

Inheritance diagram for GmFileFormat:
Inheritance graph
[legend]

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.
 

Detailed Description

Basic interface for describing high level file format capabilities.

Member Function Documentation

◆ cellNumbering()

virtual const QVector<int>& GmFileFormat::cellNumbering ( GmCellType  type) const
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.


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