1 // Copyright (C) 2010-2013 CEA/DEN, EDF R&D
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License.
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 // Lesser General Public License for more details.
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
20 #ifndef __vtkMedDriver30_h_
21 #define __vtkMedDriver30_h_
23 #include "vtkObject.h"
25 #include "vtkMedDriver.h"
31 class vtkMedRegularGrid;
32 class vtkMedCurvilinearGrid;
33 class vtkMedUnstructuredGrid;
34 class vtkMedLocalization;
36 class vtkMedFieldOverEntity;
37 class vtkMedEntityArray;
38 class vtkMedFieldStep;
40 class vtkMedStructElement;
41 class vtkMedConstantAttribute;
42 class vtkMedVariableAttribute;
44 class VTK_EXPORT vtkMedDriver30: public vtkMedDriver
47 static vtkMedDriver30* New();
48 vtkTypeMacro(vtkMedDriver30, vtkMedDriver)
49 void PrintSelf(ostream& os, vtkIndent indent);
52 // load all meta data associated with this file.
53 virtual void ReadFileInformation(vtkMedFile*);
56 // load all meta data associated with this mesh.
57 virtual void ReadMeshInformation(vtkMedMesh*);
60 // load all meta data associated with this field.
61 virtual void ReadFieldInformation(vtkMedField*);
64 // load all meta data associated with this regular (Cartesian or polar) grid.
65 virtual void ReadRegularGridInformation(vtkMedRegularGrid*);
68 // load all meta data associated with this standard grid.
69 virtual void ReadCurvilinearGridInformation(vtkMedCurvilinearGrid*);
72 // load all meta data associated with this unstructured grid.
73 virtual void ReadUnstructuredGridInformation(vtkMedUnstructuredGrid*);
76 // load all meta data associated with this family.
77 virtual void ReadFamilyInformation(vtkMedMesh*, vtkMedFamily*);
80 // load all meta data associated with this family.
81 virtual void ReadProfileInformation(vtkMedProfile*);
84 // load information on a field and a given cell type at a given step
85 virtual void ReadFieldOverEntityInformation(vtkMedFieldOverEntity*);
88 // load information related to the given quadrature scheme definition
89 virtual void ReadLocalizationInformation(vtkMedLocalization*);
92 // load all information associated witht this field step
93 virtual void ReadFieldStepInformation(vtkMedFieldStep*, bool readAllEntityInfo);
96 // load all information related to this interpolation function
97 virtual void ReadInterpolationInformation(vtkMedInterpolation*);
100 // load all information related to this field on this profile
101 virtual void ReadFieldOnProfileInformation(vtkMedFieldOnProfile*);
104 // load all information related to this field on this profile
105 virtual void ReadLinkInformation(vtkMedLink*);
108 // read all information related to the structural elements models
110 virtual void ReadStructElementInformation(vtkMedStructElement*);
113 // read all information related to the support mesh
115 virtual void ReadSupportMeshInformation(vtkMedMesh*);
118 // read all information related to the support mesh
120 virtual void ReadConstantAttributeInformation(vtkMedConstantAttribute*);
123 // read all information related to the support mesh
125 virtual void ReadVariableAttributeInformation(vtkMedVariableAttribute*);
128 // load the field on this profile
129 virtual void LoadField(vtkMedFieldOnProfile*, med_storage_mode mode);
132 // Load the indices of the profile
133 virtual void LoadProfile(vtkMedProfile* profile);
136 // Load the values of the given step
137 // void Load(vtkMedFieldOnProfile*);
139 virtual void LoadFamilyIds(vtkMedEntityArray*);
141 virtual void LoadCoordinates(vtkMedGrid*);
143 virtual void LoadPointGlobalIds(vtkMedGrid*);
145 //virtual void LoadFamilyIds(vtkMedGrid*);
147 virtual void LoadConnectivity(vtkMedEntityArray*);
149 virtual void LoadCellGlobalIds(vtkMedEntityArray*);
151 virtual void LoadRegularGridCoordinates(vtkMedRegularGrid*);
153 virtual void LoadVariableAttribute(vtkMedVariableAttribute*,
160 void ReadNumberOfEntity(vtkMedUnstructuredGrid*,
161 med_entity_type, med_connectivity_mode);
164 vtkMedDriver30(const vtkMedDriver30&); // Not implemented.
165 void operator=(const vtkMedDriver30&); // Not implemented.
168 #endif //__vtkMedDriver30_h_