From b853dbf1fad83d74b3f9b511e06c02dc57198392 Mon Sep 17 00:00:00 2001 From: Anthony Geay Date: Fri, 7 Oct 2016 16:55:51 +0200 Subject: [PATCH] OK all write methods based directly on writeLL have been wrapped into MEDFileWritableStandAlone --- src/MEDLoader/MEDFileEquivalence.cxx | 24 ++++++++++++------------ src/MEDLoader/MEDFileEquivalence.hxx | 18 +++++++++--------- src/MEDLoader/MEDFileMesh.cxx | 2 +- src/MEDLoader/MEDFileParameter.cxx | 21 +++++++-------------- src/MEDLoader/MEDFileParameter.hxx | 7 +++---- src/MEDLoader/Swig/MEDLoaderCommon.i | 7 +++---- 6 files changed, 35 insertions(+), 44 deletions(-) diff --git a/src/MEDLoader/MEDFileEquivalence.cxx b/src/MEDLoader/MEDFileEquivalence.cxx index e99100341..715f6ee47 100644 --- a/src/MEDLoader/MEDFileEquivalence.cxx +++ b/src/MEDLoader/MEDFileEquivalence.cxx @@ -41,7 +41,7 @@ MEDFileEquivalencePair *MEDFileEquivalencePair::Load(MEDFileEquivalences *father return ret.retn(); } -void MEDFileEquivalencePair::write(med_idt fid) const +void MEDFileEquivalencePair::writeLL(med_idt fid) const { std::string meshName(getFather()->getMeshName()); INTERP_KERNEL::AutoPtr meshName2(MEDLoaderBase::buildEmptyString(MED_NAME_SIZE)); @@ -53,10 +53,10 @@ void MEDFileEquivalencePair::write(med_idt fid) const MEDFILESAFECALLERWR0(MEDequivalenceCr,(fid,meshName2,name,desc)); const MEDFileEquivalenceCell *cell(_cell); if(cell) - cell->write(fid); + cell->writeLL(fid); const MEDFileEquivalenceNode *node(_node); if(node) - node->write(fid); + node->writeLL(fid); } const MEDFileMesh *MEDFileEquivalencePair::getMesh() const @@ -392,13 +392,13 @@ void MEDFileEquivalences::clear() _equ.clear(); } -void MEDFileEquivalences::write(med_idt fid) const +void MEDFileEquivalences::writeLL(med_idt fid) const { for(std::vector< MCAuto >::const_iterator it=_equ.begin();it!=_equ.end();it++) { const MEDFileEquivalencePair *elt(*it); if(elt) - elt->write(fid); + elt->writeLL(fid); } } @@ -494,7 +494,7 @@ bool MEDFileEquivalenceData::isEqual(const MEDFileEquivalenceData *other, std::s return true; } -void MEDFileEquivalenceData::writeLL(med_idt fid, med_entity_type medtype, med_geometry_type medgt) const +void MEDFileEquivalenceData::writeAdvanced(med_idt fid, med_entity_type medtype, med_geometry_type medgt) const { const DataArrayInt *da(getArray()); @@ -549,9 +549,9 @@ void MEDFileEquivalenceCellType::getRepr(std::ostream& oss) const oss << ","; } -void MEDFileEquivalenceCellType::write(med_idt fid) const +void MEDFileEquivalenceCellType::writeLL(med_idt fid) const { - writeLL(fid,MED_CELL,typmai3[_type]); + writeAdvanced(fid,MED_CELL,typmai3[_type]); } std::vector MEDFileEquivalenceCell::getDirectChildrenWithNull() const @@ -578,13 +578,13 @@ MEDFileEquivalenceCell *MEDFileEquivalenceCell::Load(med_idt fid, MEDFileEquival return 0; } -void MEDFileEquivalenceCell::write(med_idt fid) const +void MEDFileEquivalenceCell::writeLL(med_idt fid) const { for(std::vector< MCAuto >::const_iterator it=_types.begin();it!=_types.end();it++) { const MEDFileEquivalenceCellType *ct(*it); if(ct) - ct->write(fid); + ct->writeLL(fid); } } @@ -741,9 +741,9 @@ std::size_t MEDFileEquivalenceNode::getHeapMemorySizeWithoutChildren() const return sizeof(MEDFileEquivalenceNode); } -void MEDFileEquivalenceNode::write(med_idt fid) const +void MEDFileEquivalenceNode::writeLL(med_idt fid) const { - writeLL(fid,MED_NODE,MED_NONE); + writeAdvanced(fid,MED_NODE,MED_NONE); } MEDFileEquivalenceNode *MEDFileEquivalenceNode::deepCopy(MEDFileEquivalencePair *owner) const diff --git a/src/MEDLoader/MEDFileEquivalence.hxx b/src/MEDLoader/MEDFileEquivalence.hxx index c8c52d00f..050159890 100644 --- a/src/MEDLoader/MEDFileEquivalence.hxx +++ b/src/MEDLoader/MEDFileEquivalence.hxx @@ -36,11 +36,11 @@ namespace MEDCoupling class MEDFileEquivalences; class MEDFileMesh; - class MEDFileEquivalencePair : public RefCountObject + class MEDFileEquivalencePair : public RefCountObject, public MEDFileWritableStandAlone { public: static MEDFileEquivalencePair *Load(MEDFileEquivalences *father, med_idt fid, const std::string& name, const std::string &desc); - void write(med_idt fid) const; + void writeLL(med_idt fid) const; const MEDFileEquivalences *getFather() const { return _father; } MEDFileEquivalences *getFather() { return _father; } const MEDFileMesh *getMesh() const; @@ -72,7 +72,7 @@ namespace MEDCoupling MCAuto _node; }; - class MEDFileEquivalences : public RefCountObject + class MEDFileEquivalences : public RefCountObject, public MEDFileWritableStandAlone { public: MEDLOADER_EXPORT std::vector getDirectChildrenWithNull() const; @@ -96,7 +96,7 @@ namespace MEDCoupling MEDLOADER_EXPORT void killEquivalenceAt(int i); MEDLOADER_EXPORT void clear(); public: - void write(med_idt fid) const; + void writeLL(med_idt fid) const; static int PresenceOfEquivalences(med_idt fid, const std::string& meshName); static MEDFileEquivalences *Load(med_idt fid, int nbOfEq, MEDFileMesh *owner); static void CheckDataArray(const DataArrayInt *data); @@ -108,7 +108,7 @@ namespace MEDCoupling std::vector< MCAuto > _equ; }; - class MEDFileEquivalenceBase : public RefCountObject + class MEDFileEquivalenceBase : public RefCountObject, public MEDFileWritableStandAlone { protected: MEDFileEquivalenceBase(MEDFileEquivalencePair *father); @@ -132,7 +132,7 @@ namespace MEDCoupling MEDLOADER_EXPORT std::vector getDirectChildrenWithNull() const; bool isEqual(const MEDFileEquivalenceData *other, std::string& what) const; protected: - void writeLL(med_idt fid, med_entity_type medtype, med_geometry_type medgt) const; + void writeAdvanced(med_idt fid, med_entity_type medtype, med_geometry_type medgt) const; protected: ~MEDFileEquivalenceData() { } protected: @@ -149,7 +149,7 @@ namespace MEDCoupling bool isEqual(const MEDFileEquivalenceCellType *other, std::string& what) const; void getRepr(std::ostream& oss) const; public: - void write(med_idt fid) const; + void writeLL(med_idt fid) const; protected: ~MEDFileEquivalenceCellType() { } private: @@ -162,7 +162,7 @@ namespace MEDCoupling MEDLOADER_EXPORT std::vector getDirectChildrenWithNull() const; MEDLOADER_EXPORT std::size_t getHeapMemorySizeWithoutChildren() const; static MEDFileEquivalenceCell *Load(med_idt fid, MEDFileEquivalencePair *owner); - void write(med_idt fid) const; + void writeLL(med_idt fid) const; MEDFileEquivalenceCell *deepCopy(MEDFileEquivalencePair *owner) const; bool isEqual(const MEDFileEquivalenceCell *other, std::string& what) const; void getRepr(std::ostream& oss) const; @@ -189,7 +189,7 @@ namespace MEDCoupling public: MEDFileEquivalenceNode(MEDFileEquivalencePair *owner, DataArrayInt *data):MEDFileEquivalenceData(owner,data) { } MEDLOADER_EXPORT std::size_t getHeapMemorySizeWithoutChildren() const; - void write(med_idt fid) const; + void writeLL(med_idt fid) const; MEDFileEquivalenceNode *deepCopy(MEDFileEquivalencePair *owner) const; bool isEqual(const MEDFileEquivalenceNode *other, std::string& what) const; void getRepr(std::ostream& oss) const; diff --git a/src/MEDLoader/MEDFileMesh.cxx b/src/MEDLoader/MEDFileMesh.cxx index 1f9292da7..c88c69e3a 100644 --- a/src/MEDLoader/MEDFileMesh.cxx +++ b/src/MEDLoader/MEDFileMesh.cxx @@ -191,7 +191,7 @@ void MEDFileMesh::writeLL(med_idt fid) const writeJoints(fid); const MEDFileEquivalences *eqs(_equiv); if(eqs) - eqs->write(fid); + eqs->writeLL(fid); } /*! diff --git a/src/MEDLoader/MEDFileParameter.cxx b/src/MEDLoader/MEDFileParameter.cxx index 85b32aa4d..4186eea5b 100644 --- a/src/MEDLoader/MEDFileParameter.cxx +++ b/src/MEDLoader/MEDFileParameter.cxx @@ -144,7 +144,7 @@ void MEDFileParameterDouble1TSWTI::finishLoading(med_idt fid, const std::string& MEDFILESAFECALLERRD0(MEDparameterValueRd,(fid,name.c_str(),_iteration,_order,reinterpret_cast(&_arr))); } -void MEDFileParameterDouble1TSWTI::writeLL(med_idt fid, const std::string& name, const MEDFileWritable& mw) const +void MEDFileParameterDouble1TSWTI::writeAdvanced(med_idt fid, const std::string& name, const MEDFileWritable& mw) const { char nameW[MED_NAME_SIZE+1]; MEDLoaderBase::safeStrCpy(name.c_str(),MED_NAME_SIZE,nameW,mw.getTooLongStrPolicy()); @@ -361,7 +361,7 @@ void MEDFileParameterDouble1TS::write(const std::string& fileName, int mode) con med_access_mode medmod=MEDFileUtilities::TraduceWriteMode(mode); MEDFileUtilities::AutoFid fid=MEDfileOpen(fileName.c_str(),medmod); MEDFileParameterTinyInfo::writeLLHeader(fid,MED_FLOAT64); - MEDFileParameterDouble1TSWTI::writeLL(fid,_name,*this); + MEDFileParameterDouble1TSWTI::writeAdvanced(fid,_name,*this); } MEDFileParameterMultiTS *MEDFileParameterMultiTS::New() @@ -523,10 +523,10 @@ void MEDFileParameterMultiTS::write(const std::string& fileName, int mode) const { med_access_mode medmod=MEDFileUtilities::TraduceWriteMode(mode); MEDFileUtilities::AutoFid fid=MEDfileOpen(fileName.c_str(),medmod); - writeLL(fid,*this); + writeAdvanced(fid,*this); } -void MEDFileParameterMultiTS::writeLL(med_idt fid, const MEDFileWritable& mw) const +void MEDFileParameterMultiTS::writeAdvanced(med_idt fid, const MEDFileWritable& mw) const { std::set diffType; for(std::vector< MCAuto >::const_iterator it=_param_per_ts.begin();it!=_param_per_ts.end();it++) @@ -536,7 +536,7 @@ void MEDFileParameterMultiTS::writeLL(med_idt fid, const MEDFileWritable& mw) co diffType.insert(MED_FLOAT64); } if(diffType.size()>1) - throw INTERP_KERNEL::Exception("MEDFileParameterMultiTS::writeLL : impossible to mix type of data in parameters in MED file ! Only float64 or only int32 ..."); + throw INTERP_KERNEL::Exception("MEDFileParameterMultiTS::writeAdvanced : impossible to mix type of data in parameters in MED file ! Only float64 or only int32 ..."); if(diffType.empty()) return; med_parameter_type typ=*diffType.begin(); @@ -545,7 +545,7 @@ void MEDFileParameterMultiTS::writeLL(med_idt fid, const MEDFileWritable& mw) co { const MEDFileParameter1TS *elt(*it); if(elt) - elt->writeLL(fid,_name,mw); + elt->writeAdvanced(fid,_name,mw); } } @@ -782,20 +782,13 @@ MEDFileParameters::MEDFileParameters(const MEDFileParameters& other, bool deepCo } } -void MEDFileParameters::write(const std::string& fileName, int mode) const -{ - med_access_mode medmod=MEDFileUtilities::TraduceWriteMode(mode); - MEDFileUtilities::AutoFid fid=MEDfileOpen(fileName.c_str(),medmod); - writeLL(fid); -} - void MEDFileParameters::writeLL(med_idt fid) const { for(std::vector< MCAuto >::const_iterator it=_params.begin();it!=_params.end();it++) { const MEDFileParameterMultiTS *elt(*it); if(elt) - elt->writeLL(fid,*this); + elt->writeAdvanced(fid,*this); } } diff --git a/src/MEDLoader/MEDFileParameter.hxx b/src/MEDLoader/MEDFileParameter.hxx index 594129260..9ea9fbd09 100644 --- a/src/MEDLoader/MEDFileParameter.hxx +++ b/src/MEDLoader/MEDFileParameter.hxx @@ -35,7 +35,7 @@ namespace MEDCoupling MEDLOADER_EXPORT virtual bool isEqual(const MEDFileParameter1TS *other, double eps, std::string& what) const; MEDLOADER_EXPORT virtual void simpleRepr2(int bkOffset, std::ostream& oss) const = 0; MEDLOADER_EXPORT virtual void readValue(med_idt fid, const std::string& name) = 0; - MEDLOADER_EXPORT virtual void writeLL(med_idt fid, const std::string& name, const MEDFileWritable& mw) const = 0; + MEDLOADER_EXPORT virtual void writeAdvanced(med_idt fid, const std::string& name, const MEDFileWritable& mw) const = 0; public: MEDLOADER_EXPORT void setIteration(int it) { _iteration=it; } MEDLOADER_EXPORT int getIteration() const { return _iteration; } @@ -72,7 +72,7 @@ namespace MEDCoupling void simpleRepr2(int bkOffset, std::ostream& oss) const; void finishLoading(med_idt fid, const std::string& name, int dt, int it, int nbOfSteps); void finishLoading(med_idt fid, const std::string& name, int timeStepId); - void writeLL(med_idt fid, const std::string& name, const MEDFileWritable& mw) const; + void writeAdvanced(med_idt fid, const std::string& name, const MEDFileWritable& mw) const; protected: double _arr; }; @@ -130,7 +130,7 @@ namespace MEDCoupling MEDLOADER_EXPORT MEDFileParameterMultiTS *deepCopy() const; MEDLOADER_EXPORT bool isEqual(const MEDFileParameterMultiTS *other, double eps, std::string& what) const; MEDLOADER_EXPORT void write(const std::string& fileName, int mode) const; - MEDLOADER_EXPORT void writeLL(med_idt fid, const MEDFileWritable& mw) const; + MEDLOADER_EXPORT void writeAdvanced(med_idt fid, const MEDFileWritable& mw) const; MEDLOADER_EXPORT std::string simpleRepr() const; MEDLOADER_EXPORT void appendValue(int dt, int it, double time, double val); MEDLOADER_EXPORT double getDoubleValue(int iteration, int order) const; @@ -161,7 +161,6 @@ namespace MEDCoupling MEDLOADER_EXPORT std::vector getDirectChildrenWithNull() const; MEDLOADER_EXPORT MEDFileParameters *deepCopy() const; MEDLOADER_EXPORT bool isEqual(const MEDFileParameters *other, double eps, std::string& what) const; - MEDLOADER_EXPORT void write(const std::string& fileName, int mode) const; MEDLOADER_EXPORT void writeLL(med_idt fid) const; MEDLOADER_EXPORT std::vector getParamsNames() const; MEDLOADER_EXPORT std::string simpleRepr() const; diff --git a/src/MEDLoader/Swig/MEDLoaderCommon.i b/src/MEDLoader/Swig/MEDLoaderCommon.i index 3602338fb..89ac8920e 100644 --- a/src/MEDLoader/Swig/MEDLoaderCommon.i +++ b/src/MEDLoader/Swig/MEDLoaderCommon.i @@ -776,7 +776,7 @@ namespace MEDCoupling } }; - class MEDFileEquivalenceBase : public RefCountObject + class MEDFileEquivalenceBase : public RefCountObject, public MEDFileWritableStandAlone { private: MEDFileEquivalenceBase(); @@ -835,7 +835,7 @@ namespace MEDCoupling } }; - class MEDFileEquivalencePair : public RefCountObject + class MEDFileEquivalencePair : public RefCountObject, public MEDFileWritableStandAlone { private: MEDFileEquivalencePair(); @@ -877,7 +877,7 @@ namespace MEDCoupling } }; - class MEDFileEquivalences : public RefCountObject + class MEDFileEquivalences : public RefCountObject, public MEDFileWritableStandAlone { private: MEDFileEquivalences(); @@ -3346,7 +3346,6 @@ namespace MEDCoupling static MEDFileParameters *New(); static MEDFileParameters *New(const std::string& fileName) throw(INTERP_KERNEL::Exception); MEDFileParameters *deepCopy() const throw(INTERP_KERNEL::Exception); - void write(const std::string& fileName, int mode) const throw(INTERP_KERNEL::Exception); std::vector getParamsNames() const throw(INTERP_KERNEL::Exception); std::string simpleRepr() const throw(INTERP_KERNEL::Exception); void resize(int newSize) throw(INTERP_KERNEL::Exception); -- 2.39.2