GemaCoreLib
The GeMA Core library
Loading...
Searching...
No Matches
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
30class GmValueInfo;
32
35{
36public:
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
68 virtual const QVector<int>& cellNumbering(GmCellType type) const = 0;
69
79 virtual const QVector<int>& gaussNumbering(GmCellType type, int numIp) const = 0;
80
82 virtual int fileCellType(GmCellType type) const = 0;
83
85 virtual const char* fileCellTypeName(GmCellType type) const = 0;
86
94 virtual bool acceptsDataType(const GmValueInfo* info, int nodeDim, int dimFilter = -1) const = 0;
95
97 virtual bool acceptsMultipleGaussProfiles() const = 0;
98
102 virtual bool acceptsGaussRuleForElement(GmCellType type, const GmIntegrationRule* ir) const = 0;
103
104 // Returns true if this file format can be used to save the given type of discontinuity data
105 virtual bool acceptsDiscontinuitySet(GmDiscontinuitySet::DiscontinuityType type) const = 0;
106
108 virtual bool supportsSplitVectors() const = 0;
109
111 virtual bool supportsMeshChanges() const = 0;
112};
113
114
115#endif // _GM_FILE_FORMAT_H_
DiscontinuityType
Discontinuity type (defining how the disc. geometry is defined)
Definition gmDiscontinuitySet.h:63
Basic interface for describing high level file format capabilities.
Definition gmFileFormat.h:35
virtual const QVector< int > & gaussNumbering(GmCellType type, int numIp) const =0
Returns the Gauss point numbering order for a given cell type and number of integration points....
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 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 bool supportsMultipleIterations() const =0
Returns true if this file type supports multiple iterations (result sets)
virtual bool acceptsMultipleGaussProfiles() const =0
Does the file supports multiple Gauss points per element type?
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...
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 bool acceptsNodeDimension(int ndim) const =0
Returns true if this file format accepts meshes with nodes of the given dimension.
virtual bool supportsSplitVectors() const =0
Returns true if this writer prefers to split vector values into scalar values by itself.
virtual const char * fileCellTypeName(GmCellType type) const =0
Returns the cell type name as seen by the exported file format.
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 const char * formatName() const =0
Returns the file format name.
Integration rule base classe.
Definition gmIntegrationRule.h:89
Auxiliar class used to store the definition of a value. It can be used to store informations about st...
Definition gmValueInfo.h:132
Declaration of the GmCell class.
GmCellType
Mesh Cell types. Don't change type orders or add types without reading comments below.
Definition gmCellType.h:31
Implementation of the GmDiscontinuitySet class.