-// Copyright (C) 2007-2012 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2016 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
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+// Author : Anthony Geay (CEA/DEN)
#ifndef __MEDFILEDATA_HXX__
#define __MEDFILEDATA_HXX__
-#include "MEDCouplingAutoRefCountObjectPtr.hxx"
+#include "MCAuto.hxx"
+#include "MEDFileParameter.hxx"
#include "MEDFileField.hxx"
#include "MEDFileMesh.hxx"
-namespace ParaMEDMEM
+namespace MEDCoupling
{
/*!
* User class.
*/
- class MEDLOADER_EXPORT MEDFileData : public RefCountObject, public MEDFileWritable
+ class MEDFileData : public RefCountObject, public MEDFileWritable
{
public:
- static MEDFileData *New(const char *fileName) throw(INTERP_KERNEL::Exception);
- static MEDFileData *New();
- MEDFileFields *getFields() const;
- MEDFileMeshes *getMeshes() const;
- void setFields(MEDFileFields *fields) throw(INTERP_KERNEL::Exception);
- void setMeshes(MEDFileMeshes *meshes) throw(INTERP_KERNEL::Exception);
- int getNumberOfFields() const throw(INTERP_KERNEL::Exception);
- int getNumberOfMeshes() const throw(INTERP_KERNEL::Exception);
- std::string simpleRepr() const;
+ MEDLOADER_EXPORT static MEDFileData *New(const std::string& fileName);
+ MEDLOADER_EXPORT static MEDFileData *New();
+ MEDLOADER_EXPORT MEDFileData *deepCopy() const;
+ MEDLOADER_EXPORT std::size_t getHeapMemorySizeWithoutChildren() const;
+ MEDLOADER_EXPORT std::vector<const BigMemoryObject *> getDirectChildrenWithNull() const;
+ MEDLOADER_EXPORT MEDFileFields *getFields() const;
+ MEDLOADER_EXPORT MEDFileMeshes *getMeshes() const;
+ MEDLOADER_EXPORT MEDFileParameters *getParams() const;
+ MEDLOADER_EXPORT void setFields(MEDFileFields *fields);
+ MEDLOADER_EXPORT void setMeshes(MEDFileMeshes *meshes);
+ MEDLOADER_EXPORT void setParams(MEDFileParameters *params);
+ MEDLOADER_EXPORT int getNumberOfFields() const;
+ MEDLOADER_EXPORT int getNumberOfMeshes() const;
+ MEDLOADER_EXPORT int getNumberOfParams() const;
+ MEDLOADER_EXPORT std::string simpleRepr() const;
//
- bool changeMeshNames(const std::vector< std::pair<std::string,std::string> >& modifTab) throw(INTERP_KERNEL::Exception);
- bool changeMeshName(const char *oldMeshName, const char *newMeshName) throw(INTERP_KERNEL::Exception);
- bool unPolyzeMeshes() throw(INTERP_KERNEL::Exception);
+ MEDLOADER_EXPORT bool changeMeshNames(const std::vector< std::pair<std::string,std::string> >& modifTab);
+ MEDLOADER_EXPORT bool changeMeshName(const std::string& oldMeshName, const std::string& newMeshName);
+ MEDLOADER_EXPORT bool unPolyzeMeshes();
+ MEDLOADER_EXPORT static MCAuto<MEDFileData> Aggregate(const std::vector<const MEDFileData *>& mfds);
//
- void write(const char *fileName, int mode) const throw(INTERP_KERNEL::Exception);
+ MEDLOADER_EXPORT void write(const std::string& fileName, int mode) const;
private:
MEDFileData();
- MEDFileData(const char *fileName) throw(INTERP_KERNEL::Exception);
+ MEDFileData(const std::string& fileName);
private:
- MEDCouplingAutoRefCountObjectPtr<MEDFileFields> _fields;
- MEDCouplingAutoRefCountObjectPtr<MEDFileMeshes> _meshes;
+ MCAuto<MEDFileFields> _fields;
+ MCAuto<MEDFileMeshes> _meshes;
+ MCAuto<MEDFileParameters> _params;
};
}