-// Copyright (C) 2007-2016 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2019 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
#include "MEDFileData.hxx"
#include "MEDLoaderBase.hxx"
#include "MEDFileSafeCaller.txx"
+#include "MEDFileBlowStrEltUp.hxx"
#include "InterpKernelAutoPtr.hxx"
return !meshesImpacted.empty();
}
+void MEDFileData::dealWithStructureElements()
+{
+ if(_struct_elems.isNull())
+ throw INTERP_KERNEL::Exception("MEDFileData::dealWithStructureElements : no structure elements in this !");
+ if(_meshes.isNull() || _fields.isNull())
+ throw INTERP_KERNEL::Exception("MEDFileData::dealWithStructureElements : meshes and fields must be not null !");
+ MEDFileBlowStrEltUp::DealWithSE(_fields,_meshes,_struct_elems);
+}
+
/*!
* Precondition : all instances in \a mfds should have a single mesh with fields on it. If there is an instance with not exactly one mesh an exception will be thrown.
* You can invoke MEDFileFields::partOfThisLyingOnSpecifiedMeshName method to make it work.
try
{
readHeader(fid);
- _fields=MEDFileFields::New(fid);
+ _mesh_supports=MEDFileMeshSupports::New(fid);
+ _struct_elems=MEDFileStructureElements::New(fid,_mesh_supports);
+ _fields=MEDFileFields::NewWithDynGT(fid,_struct_elems,true);
_meshes=MEDFileMeshes::New(fid);
_params=MEDFileParameters::New(fid);
- _mesh_supports=MEDFileMeshSupports::New(fid);
- _struct_elems=MEDFileStructureElements::New(fid);
}
catch(INTERP_KERNEL::Exception& e)
{