X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FMEDLoader%2FMEDFileJoint.hxx;h=12a928b665e9301d0fe523b0440b5e1a54336843;hb=662a2a2393a25baef77e42f74204b11b70a9646c;hp=81ab0698f8abbfe28fe9be3730d5bb5b271ff4c1;hpb=5da72d398d0eb1820c3ce6dd90b8579b6b14edf5;p=tools%2Fmedcoupling.git diff --git a/src/MEDLoader/MEDFileJoint.hxx b/src/MEDLoader/MEDFileJoint.hxx index 81ab0698f..12a928b66 100644 --- a/src/MEDLoader/MEDFileJoint.hxx +++ b/src/MEDLoader/MEDFileJoint.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2016 CEA/DEN, EDF R&D +// Copyright (C) 2007-2023 CEA, EDF // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public @@ -21,10 +21,12 @@ #define __MEDFILEJOINT_HXX__ #include "MEDLoaderDefines.hxx" -#include "MEDFileUtilities.hxx" +#include "MEDFileUtilities.txx" #include "MEDCouplingMemArray.hxx" #include "MCAuto.hxx" +#include "NormalizedGeometricTypes" + namespace MEDCoupling { /*! @@ -37,10 +39,11 @@ class MEDFileJointCorrespondence : public RefCountObject, public MEDFileWritable { public: MEDLOADER_EXPORT static MEDFileJointCorrespondence *New(); - MEDLOADER_EXPORT static MEDFileJointCorrespondence *New(DataArrayInt* correspondence); // nodes - MEDLOADER_EXPORT static MEDFileJointCorrespondence *New(DataArrayInt* correspondence, // cells + MEDLOADER_EXPORT static MEDFileJointCorrespondence *New(DataArrayIdType* correspondence); // nodes + MEDLOADER_EXPORT static MEDFileJointCorrespondence *New(DataArrayIdType* correspondence, // cells INTERP_KERNEL::NormalizedCellType loc_geo_type, INTERP_KERNEL::NormalizedCellType rem_geo_type); + MEDLOADER_EXPORT std::string getClassName() const override { return std::string("MEDFileJointCorrespondence"); } MEDLOADER_EXPORT std::size_t getHeapMemorySizeWithoutChildren() const; MEDLOADER_EXPORT std::vector getDirectChildrenWithNull() const; MEDLOADER_EXPORT MEDFileJointCorrespondence *deepCopy() const; @@ -52,15 +55,15 @@ public: MEDLOADER_EXPORT INTERP_KERNEL::NormalizedCellType getLocalGeometryType() const { return _loc_geo_type; } MEDLOADER_EXPORT void setRemoteGeometryType(INTERP_KERNEL::NormalizedCellType type) { _rem_geo_type=type; } MEDLOADER_EXPORT INTERP_KERNEL::NormalizedCellType getRemoteGeometryType() const { return _rem_geo_type; } - MEDLOADER_EXPORT void setCorrespondence(DataArrayInt *corr); - MEDLOADER_EXPORT const DataArrayInt *getCorrespondence() const { return _correspondence; } + MEDLOADER_EXPORT void setCorrespondence(DataArrayIdType *corr); + MEDLOADER_EXPORT const DataArrayIdType *getCorrespondence() const { return _correspondence; } MEDLOADER_EXPORT void write(const std::string& fileName, int mode, const std::string& localMeshName, const std::string& jointName, int order, int iteration) const; MEDLOADER_EXPORT std::string simpleRepr() const; MEDLOADER_EXPORT void writeLL(med_idt fid, const std::string& localMeshName, const std::string& jointName, int order, int iteration) const; private: MEDFileJointCorrespondence(); - MEDFileJointCorrespondence(DataArrayInt* correspondence, + MEDFileJointCorrespondence(DataArrayIdType* correspondence, bool is_nodal = true, INTERP_KERNEL::NormalizedCellType loc_geo_type = INTERP_KERNEL::NORM_ERROR, INTERP_KERNEL::NormalizedCellType rem_geo_type = INTERP_KERNEL::NORM_ERROR); @@ -68,7 +71,7 @@ private: bool _is_nodal; INTERP_KERNEL::NormalizedCellType _loc_geo_type; INTERP_KERNEL::NormalizedCellType _rem_geo_type; - MCAuto _correspondence; + MCAuto _correspondence; }; /*! @@ -80,6 +83,7 @@ public: MEDLOADER_EXPORT static MEDFileJointOneStep *New(int dt=-1, int it=-1); MEDLOADER_EXPORT static MEDFileJointOneStep *New(const std::string& fileName, const std::string& mName, const std::string& jointName, int number=1); MEDLOADER_EXPORT static MEDFileJointOneStep *New(med_idt fid, const std::string& mName, const std::string& jointName, int number=1); + MEDLOADER_EXPORT std::string getClassName() const override { return std::string("MEDFileJointOneStep"); } MEDLOADER_EXPORT std::size_t getHeapMemorySizeWithoutChildren() const; MEDLOADER_EXPORT std::vector getDirectChildrenWithNull() const; MEDLOADER_EXPORT MEDFileJointOneStep *deepCopy() const; @@ -90,6 +94,7 @@ public: MEDLOADER_EXPORT void setIteration(int it) { _iteration=it; } MEDLOADER_EXPORT int getIteration() const { return _iteration; } MEDLOADER_EXPORT void pushCorrespondence(MEDFileJointCorrespondence* correspondence); + MEDLOADER_EXPORT void clearCorrespondences(); MEDLOADER_EXPORT int getNumberOfCorrespondences() const; MEDLOADER_EXPORT MEDFileJointCorrespondence *getCorrespondenceAtPos(int i) const; @@ -112,13 +117,14 @@ private: * \brief Joint holds a sequence of joints of different iterations relating to * a pair of mesh domains: a local one and a distant one */ -class MEDFileJoint : public RefCountObject, public MEDFileWritable +class MEDFileJoint : public RefCountObject, public MEDFileWritableStandAlone { public: MEDLOADER_EXPORT static MEDFileJoint *New(); MEDLOADER_EXPORT static MEDFileJoint *New(const std::string& fileName, const std::string& mName, int num); MEDLOADER_EXPORT static MEDFileJoint *New(med_idt fid, const std::string& mName, int num); MEDLOADER_EXPORT static MEDFileJoint *New(const std::string& jointName, const std::string& locMeshName, const std::string& remoteMeshName, int remoteMeshNum ); + MEDLOADER_EXPORT std::string getClassName() const override { return std::string("MEDFileJoint"); } MEDLOADER_EXPORT std::size_t getHeapMemorySizeWithoutChildren() const; MEDLOADER_EXPORT std::vector getDirectChildrenWithNull() const; MEDLOADER_EXPORT MEDFileJoint *deepCopy() const; @@ -139,8 +145,7 @@ public: MEDLOADER_EXPORT int getNumberOfSteps() const; MEDLOADER_EXPORT MEDFileJointOneStep *getStepAtPos(int i) const; - MEDLOADER_EXPORT void write(const std::string& fileName, int mode) const; - MEDLOADER_EXPORT void write(med_idt fid) const; + MEDLOADER_EXPORT void writeLL(med_idt fid) const; MEDLOADER_EXPORT std::string simpleRepr() const; private: @@ -158,19 +163,19 @@ public: /*! * \brief Joints of a mesh domain relating to all other mesh domains */ - class MEDFileJoints : public RefCountObject, public MEDFileWritable + class MEDFileJoints : public RefCountObject, public MEDFileWritableStandAlone { public: MEDLOADER_EXPORT static MEDFileJoints *New(); MEDLOADER_EXPORT static MEDFileJoints *New(const std::string& fileName, const std::string& meshName); MEDLOADER_EXPORT static MEDFileJoints *New(med_idt fid, const std::string& meshName); + MEDLOADER_EXPORT std::string getClassName() const override { return std::string("MEDFileJoints"); } MEDLOADER_EXPORT MEDFileJoints *deepCopy() const; MEDLOADER_EXPORT std::size_t getHeapMemorySizeWithoutChildren() const; MEDLOADER_EXPORT std::vector getDirectChildrenWithNull() const; MEDLOADER_EXPORT std::string simpleRepr() const; MEDLOADER_EXPORT void simpleReprWithoutHeader(std::ostream& oss) const; - MEDLOADER_EXPORT void write(const std::string& fileName, int mode) const; - MEDLOADER_EXPORT void write(med_idt fid) const; + MEDLOADER_EXPORT void writeLL(med_idt fid) const; MEDLOADER_EXPORT std::string getMeshName() const; MEDLOADER_EXPORT int getNumberOfJoints() const; MEDLOADER_EXPORT MEDFileJoint *getJointAtPos(int i) const;