MEDFileData *MEDFileData::New(const std::string& fileName)
{
- return new MEDFileData(fileName);
+ MEDFileUtilities::AutoFid fid(OpenMEDFileForRead(fileName));
+ return New(fid);
+}
+
+MEDFileData *MEDFileData::New(med_idt fid)
+{
+ return new MEDFileData(fid);
}
MEDFileData *MEDFileData::New()
{
}
-MEDFileData::MEDFileData(const std::string& fileName)
+MEDFileData::MEDFileData(med_idt fid)
try
{
- _fields=MEDFileFields::New(fileName);
- _meshes=MEDFileMeshes::New(fileName);
- _params=MEDFileParameters::New(fileName);
+ _fields=MEDFileFields::New(fid);
+ _meshes=MEDFileMeshes::New(fid);
+ _params=MEDFileParameters::New(fid);
}
catch(INTERP_KERNEL::Exception& e)
{
throw e;
}
-void MEDFileData::write(const std::string& fileName, int mode) const
+void MEDFileData::writeLL(med_idt fid) const
{
- med_access_mode medmod=MEDFileUtilities::TraduceWriteMode(mode);
- MEDFileUtilities::AutoFid fid=MEDfileOpen(fileName.c_str(),medmod);
- const MEDFileMeshes *ms=_meshes;
+ const MEDFileMeshes *ms(_meshes);
if(ms)
- ms->write(fid);
- const MEDFileFields *fs=_fields;
+ ms->writeLL(fid);
+ const MEDFileFields *fs(_fields);
if(fs)
fs->writeLL(fid);
- const MEDFileParameters *ps=_params;
+ const MEDFileParameters *ps(_params);
if(ps)
ps->writeLL(fid);
}