1 #ifndef TYPE_MESH_DRIVER_HXX
2 #define TYPE_MESH_DRIVER_HXX
7 #include "MEDMEM_define.hxx"
8 #include "MEDMEM_GenDriver.hxx"
10 #include "MEDMEM_STRING.hxx"
11 #include "MEDMEM_Exception.hxx"
12 #include "utilities.h"
14 using namespace MEDMEM;
20 Generic part : implement the readopen and close methods.
30 class TYPE_MESH_DRIVER : public GENDRIVER
35 // A VOIR FILE DESCRIPTEUR ? MED_FR::med_idt _medIdt;
47 TYPE_MESH_DRIVER(const string & fileName,
49 med_mode_acces accessMode) ;
53 TYPE_MESH_DRIVER(const TYPE_MESH_DRIVER & driver) ;
58 virtual ~TYPE_MESH_DRIVER() ;
60 void open() throw (MEDEXCEPTION);
61 void close() throw (MEDEXCEPTION);
63 virtual void write( void ) const = 0 ;
64 virtual void read ( void ) = 0 ;
67 Set the name of the MESH asked in file.
69 It could be different than the name of the MESH object.
71 void setMeshName(const string & meshName) ;
73 Get the name of the MESH asked in file.
75 string getMeshName() const ;
78 virtual GENDRIVER * copy ( void ) const = 0 ;
83 class TYPE_MESH_RDONLY_DRIVER : public virtual TYPE_MESH_DRIVER
91 TYPE_MESH_RDONLY_DRIVER() ;
95 TYPE_MESH_RDONLY_DRIVER(const string & fileName, MESH * ptrMesh) ;
99 TYPE_MESH_RDONLY_DRIVER(const TYPE_MESH_RDONLY_DRIVER & driver) ;
104 virtual ~TYPE_MESH_RDONLY_DRIVER() ;
107 Return a MEDEXCEPTION : it is the read-only driver.
109 void write( void ) const throw (MEDEXCEPTION);
111 Read MESH in the specified file.
113 void read ( void ) throw (MEDEXCEPTION);
117 GENDRIVER * copy ( void ) const ;
123 Driver Med for MESH : Write only.
125 Implement write method.
129 class TYPE_MESH_WRONLY_DRIVER : public virtual TYPE_MESH_DRIVER {
136 TYPE_MESH_WRONLY_DRIVER() ;
140 TYPE_MESH_WRONLY_DRIVER(const string & fileName, MESH * ptrMesh) ;
144 TYPE_MESH_WRONLY_DRIVER(const TYPE_MESH_WRONLY_DRIVER & driver) ;
149 virtual ~TYPE_MESH_WRONLY_DRIVER() ;
152 Write MESH in the specified file.
154 void write( void ) const throw (MEDEXCEPTION);
156 Return a MEDEXCEPTION : it is the write-only driver.
158 void read ( void ) throw (MEDEXCEPTION);
162 GENDRIVER * copy ( void ) const ;
168 Driver TYPE for MESH : Read write.
169 - Use read method from TYPE_MESH_RDONLY_DRIVER
170 - Use write method from TYPE_MESH_WRONLY_DRIVER
174 class TYPE_MESH_RDWR_DRIVER : public TYPE_MESH_RDONLY_DRIVER, public TYPE_MESH_WRONLY_DRIVER {
181 TYPE_MESH_RDWR_DRIVER() ;
185 TYPE_MESH_RDWR_DRIVER(const string & fileName, MESH * ptrMesh) ;
189 TYPE_MESH_RDWR_DRIVER(const TYPE_MESH_RDWR_DRIVER & driver) ;
194 ~TYPE_MESH_RDWR_DRIVER() ;
197 Write MESH in the specified file.
199 void write(void) const throw (MEDEXCEPTION);
201 Read MESH in the specified file.
203 void read (void) throw (MEDEXCEPTION);
206 GENDRIVER * copy(void) const ;
212 #endif /* TYPE_MESH_DRIVER_HXX */