X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FMEDLoader%2FMEDFileData.hxx;h=558c1e69a83847a015a0e86067f0797b389524ad;hb=19a65812ae7b522811413fff6e642d1273b13d48;hp=38e3a5b765d700dfa7d77c0e1b3bb9d2c22922aa;hpb=378cb2ebe08f8f4543ef632b2bd5f77fe180f978;p=tools%2Fmedcoupling.git diff --git a/src/MEDLoader/MEDFileData.hxx b/src/MEDLoader/MEDFileData.hxx old mode 100755 new mode 100644 index 38e3a5b76..558c1e69a --- a/src/MEDLoader/MEDFileData.hxx +++ b/src/MEDLoader/MEDFileData.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2014 CEA/DEN, EDF R&D +// Copyright (C) 2007-2021 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 @@ -21,22 +21,27 @@ #ifndef __MEDFILEDATA_HXX__ #define __MEDFILEDATA_HXX__ -#include "MEDCouplingAutoRefCountObjectPtr.hxx" +#include "MCAuto.hxx" #include "MEDFileParameter.hxx" #include "MEDFileField.hxx" #include "MEDFileMesh.hxx" +#include "MEDFileMeshSupport.hxx" +#include "MEDFileStructureElement.hxx" -namespace ParaMEDMEM +namespace MEDCoupling { /*! * User class. */ - class MEDFileData : public RefCountObject, public MEDFileWritable + class MEDFileData : public RefCountObject, public MEDFileWritableStandAlone { public: MEDLOADER_EXPORT static MEDFileData *New(const std::string& fileName); + MEDLOADER_EXPORT static MEDFileData *New(med_idt fid); MEDLOADER_EXPORT static MEDFileData *New(); - MEDLOADER_EXPORT MEDFileData *deepCpy() const; + MEDLOADER_EXPORT static MEDFileData *New(DataArrayByte *db) { return BuildFromMemoryChunk(db); } + MEDLOADER_EXPORT std::string getClassName() const override { return std::string("MEDFileData"); } + MEDLOADER_EXPORT MEDFileData *deepCopy() const; MEDLOADER_EXPORT std::size_t getHeapMemorySizeWithoutChildren() const; MEDLOADER_EXPORT std::vector getDirectChildrenWithNull() const; MEDLOADER_EXPORT MEDFileFields *getFields() const; @@ -50,18 +55,29 @@ namespace ParaMEDMEM MEDLOADER_EXPORT int getNumberOfParams() const; MEDLOADER_EXPORT std::string simpleRepr() const; // + MEDLOADER_EXPORT std::string getHeader() const; + MEDLOADER_EXPORT void setHeader(const std::string& header); + // MEDLOADER_EXPORT bool changeMeshNames(const std::vector< std::pair >& modifTab); MEDLOADER_EXPORT bool changeMeshName(const std::string& oldMeshName, const std::string& newMeshName); MEDLOADER_EXPORT bool unPolyzeMeshes(); + MEDLOADER_EXPORT void dealWithStructureElements(); + MEDLOADER_EXPORT static MCAuto Aggregate(const std::vector& mfds); // - MEDLOADER_EXPORT void write(const std::string& fileName, int mode) const; + MEDLOADER_EXPORT void writeLL(med_idt fid) const; private: MEDFileData(); - MEDFileData(const std::string& fileName); + MEDFileData(med_idt fid); + void readHeader(med_idt fid); + void writeHeader(med_idt fid) const; + void readMeshSupports(med_idt fid); private: - MEDCouplingAutoRefCountObjectPtr _fields; - MEDCouplingAutoRefCountObjectPtr _meshes; - MEDCouplingAutoRefCountObjectPtr _params; + MCAuto _fields; + MCAuto _meshes; + MCAuto _params; + MCAuto _mesh_supports; + MCAuto _struct_elems; + std::string _header; }; }