X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FMEDLoader%2FMEDFileMeshLL.hxx;h=abdef8f67632f6a17409a8853d2bb13401c794a3;hb=76c76c994b5ab02ac441e9a872ef9dd4a865c19b;hp=460e2bd06ef291c0277ba6052a528f2d455dba63;hpb=bcd51c51ef9f0373bf70a4aceb2638003545603e;p=tools%2Fmedcoupling.git diff --git a/src/MEDLoader/MEDFileMeshLL.hxx b/src/MEDLoader/MEDFileMeshLL.hxx index 460e2bd06..abdef8f67 100644 --- a/src/MEDLoader/MEDFileMeshLL.hxx +++ b/src/MEDLoader/MEDFileMeshLL.hxx @@ -46,6 +46,7 @@ namespace MEDCoupling protected: MeshOrStructMeshCls(int mid):_mid(mid) { } public: + virtual ~MeshOrStructMeshCls() {} int getID() const { return _mid; } virtual std::vector getAxisInfoOnMesh(med_idt fid, const std::string& mName, MEDCoupling::MEDCouplingMeshType& meshType, MEDCoupling::MEDCouplingAxisType& axType, int& nstep, int& Mdim, MEDFileString& description, MEDFileString& dtunit, MEDFileString& univName) const = 0; virtual double checkMeshTimeStep(med_idt fid, const std::string& mName, int nstep, int dt, int it) const = 0; @@ -132,8 +133,9 @@ namespace MEDCoupling MCAuto getCoords() const { return _coords; } MCAuto getCoordsFamily() const { return _fam_coords; } MCAuto getCoordsNum() const { return _num_coords; } + MCAuto getCoordsGlobalNum() const { return _global_num_coords; } MCAuto getCoordsName() const { return _name_coords; } - static void WriteCoords(med_idt fid, const std::string& mname, int dt, int it, double time, const DataArrayDouble *coords, const DataArrayInt *famCoords, const DataArrayInt *numCoords, const DataArrayAsciiChar *nameCoords); + static void WriteCoords(med_idt fid, const std::string& mname, int dt, int it, double time, const DataArrayDouble *coords, const DataArrayInt *famCoords, const DataArrayInt *numCoords, const DataArrayAsciiChar *nameCoords, const DataArrayInt *globalNumCoords); private: void sortTypes(); private: @@ -141,6 +143,7 @@ namespace MEDCoupling MCAuto _coords; MCAuto _fam_coords; MCAuto _num_coords; + MCAuto _global_num_coords; MCAuto _name_coords; }; @@ -317,10 +320,34 @@ namespace MEDCoupling MEDFileUMeshAggregateCompute _m_by_types; MCAuto _fam; MCAuto _num; + MCAuto _global_num; MCAuto _names; mutable MCAuto _rev_num; MEDFileUMeshPermCompute _m; }; + + class MEDFileEltStruct4Mesh : public RefCountObject + { + public: + static MEDFileEltStruct4Mesh *New(med_idt fid, const std::string& mName, int dt, int it, int iterOnStEltOfMesh, MEDFileMeshReadSelector *mrs); + std::string getGeoTypeName() const { return _geo_type_name; } + MCAuto getConn() const { return _conn; } + MCAuto getMeshDef() const { return _common; } + const std::vector< MCAuto >& getVars() const { return _vars; } + private: + std::size_t getHeapMemorySizeWithoutChildren() const; + std::vector getDirectChildrenWithNull() const; + private: + ~MEDFileEltStruct4Mesh() { } + private: + MEDFileEltStruct4Mesh(med_idt fid, const std::string& mName, int dt, int it, int iterOnStEltOfMesh, MEDFileMeshReadSelector *mrs); + private: + std::string _geo_type_name; + int _geo_type; + MCAuto _conn; + MCAuto _common; + std::vector< MCAuto > _vars; + }; } #endif