GemaCoreLib
The GeMA Core library
gmFileFormat.h
Go to the documentation of this file.
1 /************************************************************************
2 **
3 ** Copyright (C) 2014 by Carlos Augusto Teixera Mendes
4 ** All rights reserved.
5 **
6 ** This file is part of the "GeMA" software. It's use should respect
7 ** the terms in the license agreement that can be found together
8 ** with this source code.
9 ** It is provided AS IS, with NO WARRANTY OF ANY KIND,
10 ** INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR
11 ** A PARTICULAR PURPOSE.
12 **
13 ************************************************************************/
14 
24 #ifndef _GM_FILE_FORMAT_H_
25 #define _GM_FILE_FORMAT_H_
26 
27 #include "gmCell.h"
28 #include "gmDiscontinuitySet.h"
29 
30 class GmValueInfo;
31 class GmIntegrationRule;
32 
35 {
36 public:
38  virtual const char* formatName() const = 0;
39 
41  virtual bool supportsMultipleIterations() const = 0;
42 
44  virtual bool acceptsNodeDimension(int ndim) const = 0;
45 
50  virtual int acceptsCellType(GmCellType type) const = 0;
51 
64  virtual const QVector<int>& cellNumbering(GmCellType type) const = 0;
65 
67  virtual int fileCellType(GmCellType type) const = 0;
68 
70  virtual const char* fileCellTypeName(GmCellType type) const = 0;
71 
79  virtual bool acceptsDataType(const GmValueInfo* info, int nodeDim, int dimFilter = -1) const = 0;
80 
82  virtual bool acceptsMultipleGaussProfiles() const = 0;
83 
87  virtual bool acceptsGaussRuleForElement(GmCellType type, const GmIntegrationRule* ir) const = 0;
88 
89  // Returns true if this file format can be used to save the given type of discontinuity data
90  virtual bool acceptsDiscontinuitySet(GmDiscontinuitySet::DiscontinuityType type) const = 0;
91 
93  virtual bool supportsSplitVectors() const = 0;
94 
96  virtual bool supportsMeshChanges() const = 0;
97 };
98 
99 
100 #endif // _GM_FILE_FORMAT_H_
Auxiliar class used to store the definition of a value. It can be used to store informations about st...
Definition: gmValueInfo.h:126
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 in...
virtual int acceptsCellType(GmCellType type) const =0
Does the file format accepts this cell type? Returns 0 if the cell type is not accepted,...
virtual bool supportsSplitVectors() const =0
Returns true if this writer prefers to split vector values into scalar values by itself.
DiscontinuityType
Discontinuity type (defining how the disc. geometry is defined)
Definition: gmDiscontinuitySet.h:52
Implementation of the GmDiscontinuitySet class.
virtual bool acceptsNodeDimension(int ndim) const =0
Returns true if this file format accepts meshes with nodes of the given dimension.
Integration rule base classe.
Definition: gmIntegrationRule.h:88
virtual bool acceptsMultipleGaussProfiles() const =0
Does the file supports multiple Gauss points per element type?
virtual bool supportsMultipleIterations() const =0
Returns true if this file type supports multiple iterations (result sets)
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 bool supportsMeshChanges() const =0
Returns true if this writer can cope with mesh changes during the simulation.
virtual const char * fileCellTypeName(GmCellType type) const =0
Returns the cell type name as seen by the exported file format.
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...
GmCellType
Mesh Cell types. Don't change type orders or add types without reading comments below.
Definition: gmCellType.h:30
Declaration of the GmCell class.
Basic interface for describing high level file format capabilities.
Definition: gmFileFormat.h:34
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 d...
virtual const char * formatName() const =0
Returns the file format name.