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 "MEDMEM_Utilities.hxx"
18 Generic part : implement the readopen and close methods.
28 class TYPE_MESH_DRIVER : public GENDRIVER
33 // A VOIR FILE DESCRIPTEUR ? MED_FR::med_idt _medIdt;
45 TYPE_MESH_DRIVER(const string & fileName,
47 med_mode_acces accessMode) ;
51 TYPE_MESH_DRIVER(const TYPE_MESH_DRIVER & driver) ;
56 virtual ~TYPE_MESH_DRIVER() ;
58 void open() throw (MEDEXCEPTION);
59 void close() throw (MEDEXCEPTION);
61 virtual void write( void ) const = 0 ;
62 virtual void read ( void ) = 0 ;
65 Set the name of the MESH asked in file.
67 It could be different than the name of the MESH object.
69 void setMeshName(const string & meshName) ;
71 Get the name of the MESH asked in file.
73 string getMeshName() const ;
76 virtual GENDRIVER * copy ( void ) const = 0 ;
81 class TYPE_MESH_RDONLY_DRIVER : public virtual TYPE_MESH_DRIVER
89 TYPE_MESH_RDONLY_DRIVER() ;
93 TYPE_MESH_RDONLY_DRIVER(const string & fileName, MESH * ptrMesh) ;
97 TYPE_MESH_RDONLY_DRIVER(const TYPE_MESH_RDONLY_DRIVER & driver) ;
102 virtual ~TYPE_MESH_RDONLY_DRIVER() ;
105 Return a MEDEXCEPTION : it is the read-only driver.
107 void write( void ) const throw (MEDEXCEPTION);
109 Read MESH in the specified file.
111 void read ( void ) throw (MEDEXCEPTION);
115 GENDRIVER * copy ( void ) const ;
121 Driver Med for MESH : Write only.
123 Implement write method.
127 class TYPE_MESH_WRONLY_DRIVER : public virtual TYPE_MESH_DRIVER {
134 TYPE_MESH_WRONLY_DRIVER() ;
138 TYPE_MESH_WRONLY_DRIVER(const string & fileName, MESH * ptrMesh) ;
142 TYPE_MESH_WRONLY_DRIVER(const TYPE_MESH_WRONLY_DRIVER & driver) ;
147 virtual ~TYPE_MESH_WRONLY_DRIVER() ;
150 Write MESH in the specified file.
152 void write( void ) const throw (MEDEXCEPTION);
154 Return a MEDEXCEPTION : it is the write-only driver.
156 void read ( void ) throw (MEDEXCEPTION);
160 GENDRIVER * copy ( void ) const ;
166 Driver TYPE for MESH : Read write.
167 - Use read method from TYPE_MESH_RDONLY_DRIVER
168 - Use write method from TYPE_MESH_WRONLY_DRIVER
172 class TYPE_MESH_RDWR_DRIVER : public TYPE_MESH_RDONLY_DRIVER, public TYPE_MESH_WRONLY_DRIVER {
179 TYPE_MESH_RDWR_DRIVER() ;
183 TYPE_MESH_RDWR_DRIVER(const string & fileName, MESH * ptrMesh) ;
187 TYPE_MESH_RDWR_DRIVER(const TYPE_MESH_RDWR_DRIVER & driver) ;
192 ~TYPE_MESH_RDWR_DRIVER() ;
195 Write MESH in the specified file.
197 void write(void) const throw (MEDEXCEPTION);
199 Read MESH in the specified file.
201 void read (void) throw (MEDEXCEPTION);
204 GENDRIVER * copy(void) const ;
210 #endif /* TYPE_MESH_DRIVER_HXX */