-// Copyright (C) 2007-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2015 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
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
using namespace ParaMEDMEM;
-MEDFileData *MEDFileData::New(const char *fileName)
+MEDFileData *MEDFileData::New(const std::string& fileName)
{
return new MEDFileData(fileName);
}
MEDCouplingAutoRefCountObjectPtr<MEDFileParameters> params;
if((const MEDFileParameters *)_params)
params=_params->deepCpy();
+ MEDCouplingAutoRefCountObjectPtr<MEDFileJoints> joints;
MEDCouplingAutoRefCountObjectPtr<MEDFileData> ret=MEDFileData::New();
ret->_fields=fields; ret->_meshes=meshes; ret->_params=params;
return ret.retn();
return 0;
}
-std::vector<const BigMemoryObject *> MEDFileData::getDirectChildren() const
+std::vector<const BigMemoryObject *> MEDFileData::getDirectChildrenWithNull() const
{
std::vector<const BigMemoryObject *> ret;
- if((const MEDFileFields *)_fields)
- ret.push_back((const MEDFileFields *)_fields);
- if((const MEDFileMeshes *)_meshes)
- ret.push_back((const MEDFileMeshes *)_meshes);
- if((const MEDFileParameters *)_params)
- ret.push_back((const MEDFileParameters *)_params);
+ ret.push_back((const MEDFileFields *)_fields);
+ ret.push_back((const MEDFileMeshes *)_meshes);
+ ret.push_back((const MEDFileParameters *)_params);
return ret;
-
+
}
+/** Return a borrowed reference (caller is not responsible for object destruction) */
MEDFileFields *MEDFileData::getFields() const
{
return const_cast<MEDFileFields *>(static_cast<const MEDFileFields *>(_fields));
}
+/** Return a borrowed reference (caller is not responsible for object destruction) */
MEDFileMeshes *MEDFileData::getMeshes() const
{
return const_cast<MEDFileMeshes *>(static_cast<const MEDFileMeshes *>(_meshes));
}
+/** Return a borrowed reference (caller is not responsible for object destruction) */
MEDFileParameters *MEDFileData::getParams() const
{
return const_cast<MEDFileParameters *>(static_cast<const MEDFileParameters *>(_params));
return ret;
}
-bool MEDFileData::changeMeshName(const char *oldMeshName, const char *newMeshName)
+bool MEDFileData::changeMeshName(const std::string& oldMeshName, const std::string& newMeshName)
{
std::string oldName(oldMeshName);
std::vector< std::pair<std::string,std::string> > v(1);
MEDFileFields *fs=_fields;
if(fs)
for(std::size_t i=0;i<meshesImpacted.size();i++)
- fs->renumberEntitiesLyingOnMesh(meshesImpacted[i]->getName().c_str(),oldCodeOfMeshImpacted[i],newCodeOfMeshImpacted[i],renumParamsOfMeshImpacted[i]);
+ fs->renumberEntitiesLyingOnMesh(meshesImpacted[i]->getName(),oldCodeOfMeshImpacted[i],newCodeOfMeshImpacted[i],renumParamsOfMeshImpacted[i]);
}
return !meshesImpacted.empty();
}
{
}
-MEDFileData::MEDFileData(const char *fileName)
+MEDFileData::MEDFileData(const std::string& fileName)
try
- {
+{
_fields=MEDFileFields::New(fileName);
_meshes=MEDFileMeshes::New(fileName);
_params=MEDFileParameters::New(fileName);
- }
+}
catch(INTERP_KERNEL::Exception& e)
- {
+{
throw e;
- }
+}
-void MEDFileData::write(const char *fileName, int mode) const
+void MEDFileData::write(const std::string& fileName, int mode) const
{
med_access_mode medmod=MEDFileUtilities::TraduceWriteMode(mode);
- MEDFileUtilities::AutoFid fid=MEDfileOpen(fileName,medmod);
+ MEDFileUtilities::AutoFid fid=MEDfileOpen(fileName.c_str(),medmod);
const MEDFileMeshes *ms=_meshes;
if(ms)
ms->write(fid);