Back to index

salome-paravis  6.5.0
vtkMedDriver30.h
Go to the documentation of this file.
00001 // Copyright (C) 2010-2012  CEA/DEN, EDF R&D
00002 //
00003 // This library is free software; you can redistribute it and/or
00004 // modify it under the terms of the GNU Lesser General Public
00005 // License as published by the Free Software Foundation; either
00006 // version 2.1 of the License.
00007 //
00008 // This library is distributed in the hope that it will be useful,
00009 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00010 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00011 // Lesser General Public License for more details.
00012 //
00013 // You should have received a copy of the GNU Lesser General Public
00014 // License along with this library; if not, write to the Free Software
00015 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
00016 //
00017 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
00018 //
00019 
00020 #ifndef __vtkMedDriver30_h_
00021 #define __vtkMedDriver30_h_
00022 
00023 #include "vtkObject.h"
00024 #include "vtkMed.h"
00025 #include "vtkMedDriver.h"
00026 
00027 class vtkMedFile;
00028 class vtkMedMesh;
00029 class vtkMedField;
00030 class vtkMedFamily;
00031 class vtkMedRegularGrid;
00032 class vtkMedCurvilinearGrid;
00033 class vtkMedUnstructuredGrid;
00034 class vtkMedLocalization;
00035 class vtkMedProfile;
00036 class vtkMedFieldOverEntity;
00037 class vtkMedEntityArray;
00038 class vtkMedFieldStep;
00039 class vtkMedLink;
00040 class vtkMedStructElement;
00041 class vtkMedConstantAttribute;
00042 class vtkMedVariableAttribute;
00043 
00044 class VTK_EXPORT vtkMedDriver30: public vtkMedDriver
00045 {
00046 public:
00047   static vtkMedDriver30* New();
00048   vtkTypeRevisionMacro(vtkMedDriver30, vtkMedDriver)
00049   void PrintSelf(ostream& os, vtkIndent indent);
00050 
00051   // Description:
00052   // load all meta data associated with this file.
00053   virtual void ReadFileInformation(vtkMedFile*);
00054 
00055   // Description:
00056   // load all meta data associated with this mesh.
00057   virtual void ReadMeshInformation(vtkMedMesh*);
00058 
00059   // Description:
00060   // load all meta data associated with this field.
00061   virtual void ReadFieldInformation(vtkMedField*);
00062 
00063   // Description:
00064   // load all meta data associated with this regular (Cartesian or polar) grid.
00065   virtual void ReadRegularGridInformation(vtkMedRegularGrid*);
00066 
00067   // Description:
00068   // load all meta data associated with this standard grid.
00069   virtual void ReadCurvilinearGridInformation(vtkMedCurvilinearGrid*);
00070 
00071   // Description:
00072   // load all meta data associated with this unstructured grid.
00073   virtual void ReadUnstructuredGridInformation(vtkMedUnstructuredGrid*);
00074 
00075   // Description:
00076   // load all meta data associated with this family.
00077   virtual void ReadFamilyInformation(vtkMedMesh*, vtkMedFamily*);
00078 
00079   // Description:
00080   // load all meta data associated with this family.
00081   virtual void ReadProfileInformation(vtkMedProfile*);
00082 
00083   // Description:
00084   // load information on a field and a given cell type at a given step
00085   virtual void ReadFieldOverEntityInformation(vtkMedFieldOverEntity*);
00086 
00087   // Description:
00088   // load information related to the given quadrature scheme definition
00089   virtual void ReadLocalizationInformation(vtkMedLocalization*);
00090 
00091   // Description:
00092   // load all information associated witht this field step
00093   virtual void ReadFieldStepInformation(vtkMedFieldStep*, bool readAllEntityInfo);
00094 
00095   // Description:
00096   // load all information related to this interpolation function
00097   virtual void ReadInterpolationInformation(vtkMedInterpolation*);
00098 
00099   // Description:
00100   // load all information related to this field on this profile
00101   virtual void ReadFieldOnProfileInformation(vtkMedFieldOnProfile*);
00102 
00103   // Description:
00104   // load all information related to this field on this profile
00105   virtual void ReadLinkInformation(vtkMedLink*);
00106 
00107   // Description:
00108   // read all information related to the structural elements models
00109   // in this file
00110   virtual void ReadStructElementInformation(vtkMedStructElement*);
00111 
00112   // Description:
00113   // read all information related to the support mesh
00114   // in this file
00115   virtual void ReadSupportMeshInformation(vtkMedMesh*);
00116 
00117   // Description:
00118   // read all information related to the support mesh
00119   // in this file
00120   virtual void ReadConstantAttributeInformation(vtkMedConstantAttribute*);
00121 
00122   // Description:
00123   // read all information related to the support mesh
00124   // in this file
00125   virtual void ReadVariableAttributeInformation(vtkMedVariableAttribute*);
00126 
00127   // Description:
00128   // load the field on this profile
00129   virtual void LoadField(vtkMedFieldOnProfile*, med_storage_mode mode);
00130 
00131   // Description:
00132   // Load the indices of the profile
00133   virtual void LoadProfile(vtkMedProfile* profile);
00134 
00135   // Description:
00136   // Load the values of the given step
00137 //  void Load(vtkMedFieldOnProfile*);
00138 
00139   virtual void LoadFamilyIds(vtkMedEntityArray*);
00140 
00141   virtual void LoadCoordinates(vtkMedGrid*);
00142 
00143   virtual void LoadPointGlobalIds(vtkMedGrid*);
00144 
00145   //virtual void LoadFamilyIds(vtkMedGrid*);
00146 
00147   virtual void LoadConnectivity(vtkMedEntityArray*);
00148 
00149   virtual void LoadCellGlobalIds(vtkMedEntityArray*);
00150 
00151   virtual void LoadRegularGridCoordinates(vtkMedRegularGrid*);
00152 
00153   virtual void  LoadVariableAttribute(vtkMedVariableAttribute*,
00154                                       vtkMedEntityArray*);
00155 
00156 protected:
00157   vtkMedDriver30();
00158   ~vtkMedDriver30();
00159 
00160   void ReadNumberOfEntity(vtkMedUnstructuredGrid*,
00161       med_entity_type, med_connectivity_mode);
00162 
00163 private:
00164   vtkMedDriver30(const vtkMedDriver30&); // Not implemented.
00165   void operator=(const vtkMedDriver30&); // Not implemented.
00166 };
00167 
00168 #endif //__vtkMedDriver30_h_