X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FMEDWrapper%2FMED_Wrapper.cxx;h=b0c56200e2a7555f564fe80262f1fc409247dca5;hp=dbabc2a2d5a7c2c8d4114bd5bb06097dc2d7b2bf;hb=88ff35ddd4a4442397bc5f6ba893aaf9c51b1856;hpb=b7a7d49664daa32e1befb558280e13ed0bde37c9 diff --git a/src/MEDWrapper/MED_Wrapper.cxx b/src/MEDWrapper/MED_Wrapper.cxx index dbabc2a2d..b0c56200e 100644 --- a/src/MEDWrapper/MED_Wrapper.cxx +++ b/src/MEDWrapper/MED_Wrapper.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2021 CEA/DEN, EDF R&D, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -23,9 +23,16 @@ #include "MED_Wrapper.hxx" #include "MED_TStructures.hxx" #include "MED_Utilities.hxx" +#include "MED_TFile.hxx" +#include "MEDFileUtilities.hxx" #include #include +#include + +#ifdef WIN32 +#include +#endif #include @@ -33,8 +40,8 @@ static int MYDEBUG = 0; static int MYVALUEDEBUG = 0; #else -static int MYDEBUG = 0; -static int MYVALUEDEBUG = 0; +// static int MYDEBUG = 0; // unused in release mode +// static int MYVALUEDEBUG = 0; // unused in release mode #endif namespace MED @@ -71,69 +78,82 @@ namespace MED } //--------------------------------------------------------------- - class TFile + const TIdt& MEDIDTHoder::Id() const { - TFile(); - TFile(const TFile&); - - public: - TFile(const std::string& theFileName): - myCount(0), - myFid(0), - myFileName(theFileName) - {} + if (myFid < 0) + EXCEPTION(std::runtime_error, "TFile - GetFid() < 0"); + return myFid; + } - ~TFile() + void TMemFile::Open(EModeAcces theMode, TErr* theErr) + { + if (this->myCount++ == 0) { - Close(); + std::string dftFileName = MEDCoupling::MEDFileWritableStandAlone::GenerateUniqueDftFileNameInMem(); + med_access_mode modeTmp(MED_ACC_CREAT); + if(memfile.app_image_ptr) + modeTmp = med_access_mode(theMode); + myFid = MEDmemFileOpen(dftFileName.c_str(),&memfile,MED_FALSE,modeTmp); } - - void - Open(EModeAcces theMode, - TErr* theErr = NULL) - { - if (myCount++ == 0) { - const char* aFileName = myFileName.c_str(); - myFid = MEDfileOpen(aFileName, med_access_mode(theMode)); + if (theErr) + *theErr = TErr(myFid); + else if (myFid < 0) + EXCEPTION(std::runtime_error,"TMemFile - MEDmemFileOpen"); + } + + TFile::TFile(const std::string& theFileName, TInt theMajor, TInt theMinor): + myFileName(theFileName), + myMajor(theMajor), + myMinor(theMinor) + { + if ((myMajor < 0) || (myMajor > MED_MAJOR_NUM)) myMajor = MED_MAJOR_NUM; + if ((myMinor < 0) || (myMajor == MED_MAJOR_NUM && myMinor > MED_MINOR_NUM)) myMinor = MED_MINOR_NUM; + } + + void TFile::Open(EModeAcces theMode, TErr* theErr) + { + if (myCount++ == 0) { + const char* aFileName = myFileName.c_str(); +#ifdef WIN32 + if (med_access_mode(theMode) == MED_ACC_RDWR) { + // Force removing readonly attribute from a file under Windows, because of a bug in the HDF5 + std::string aReadOlnyRmCmd = "attrib -r \"" + myFileName + "\"> nul 2>&1"; +#ifdef UNICODE + const char* to_decode = aReadOlnyRmCmd.c_str(); + int size_needed = MultiByteToWideChar(CP_UTF8, 0, to_decode, strlen(to_decode), NULL, 0); + wchar_t* awReadOlnyRmCmd = new wchar_t[size_needed + 1]; + MultiByteToWideChar(CP_UTF8, 0, to_decode, strlen(to_decode), awReadOlnyRmCmd, size_needed); + awReadOlnyRmCmd[size_needed] = '\0'; + _wsystem(awReadOlnyRmCmd); + delete[] awReadOlnyRmCmd; +#else + system(aReadOlnyRmCmd.c_str()); +#endif } - if (theErr) - *theErr = TErr(myFid); - else if (myFid < 0) - EXCEPTION(std::runtime_error, "TFile - MEDfileOpen('"<Open(theMode, theErr); } @@ -178,22 +198,25 @@ namespace MED //--------------------------------------------------------------- TWrapper - ::TWrapper(const std::string& theFileName): - myFile(new TFile(theFileName)) + ::TWrapper(const std::string& theFileName, bool write, TFileInternal *tfileInst, TInt theMajor, TInt theMinor): + myMajor(theMajor), + myMinor(theMinor) { + if(!tfileInst) + myFile.reset(new TFile(theFileName, theMajor, theMinor) ); + else + myFile.reset(new TFileDecorator(tfileInst) ); + TErr aRet; - myFile->Open(eLECTURE_ECRITURE, &aRet); - // if (aRet < 0) - // myFile->Close(); - // myFile->Open(eLECTURE_AJOUT, &aRet); - // } - if (aRet < 0) { - myFile->Close(); - myFile->Open(eLECTURE, &aRet); + if ( write ) { + myFile->Open(eLECTURE_ECRITURE, &aRet); + if (aRet < 0) { + myFile->Close(); + myFile->Open(eCREATION, &aRet); + } } - if (aRet < 0) { - myFile->Close(); - myFile->Open(eCREATION, &aRet); + else { + myFile->Open(eLECTURE, &aRet); } } @@ -208,7 +231,7 @@ namespace MED TWrapper ::GetNbMeshes(TErr* theErr) { - TFileWrapper aFileWrapper(myFile, eLECTURE, theErr); + TFileWrapper aFileWrapper(myFile, eLECTURE, theErr, myMinor); if (theErr && *theErr < 0) return -1; @@ -219,11 +242,11 @@ namespace MED //---------------------------------------------------------------------------- void TWrapper - ::GetMeshInfo(TInt theMeshId, + ::GetMeshInfo(TInt theMeshId, MED::TMeshInfo& theInfo, - TErr* theErr) + TErr* theErr) { - TFileWrapper aFileWrapper(myFile, eLECTURE, theErr); + TFileWrapper aFileWrapper(myFile, eLECTURE, theErr, myMinor); if (theErr && *theErr < 0) return; @@ -262,7 +285,7 @@ namespace MED void TWrapper ::SetMeshInfo(const MED::TMeshInfo& theInfo, - TErr* theErr) + TErr* theErr) { TErr aRet; SetMeshInfo(theInfo, eLECTURE_ECRITURE, &aRet); @@ -281,10 +304,10 @@ namespace MED void TWrapper ::SetMeshInfo(const MED::TMeshInfo& theInfo, - EModeAcces theMode, - TErr* theErr) + EModeAcces theMode, + TErr* theErr) { - TFileWrapper aFileWrapper(myFile, theMode, theErr); + TFileWrapper aFileWrapper(myFile, theMode, theErr, myMinor); if (theErr && *theErr < 0) return; @@ -329,10 +352,10 @@ namespace MED //---------------------------------------------------------------------------- PMeshInfo TWrapper - ::CrMeshInfo(TInt theDim, - TInt theSpaceDim, + ::CrMeshInfo(TInt theDim, + TInt theSpaceDim, const std::string& theValue, - EMaillage theType, + EMaillage theType, const std::string& theDesc) { return PMeshInfo(new TTMeshInfo @@ -354,7 +377,7 @@ namespace MED //---------------------------------------------------------------------------- PMeshInfo TWrapper - ::GetPMeshInfo(TInt theId, + ::GetPMeshInfo(TInt theId, TErr* theErr) { PMeshInfo anInfo = CrMeshInfo(); @@ -366,9 +389,9 @@ namespace MED TInt TWrapper ::GetNbFamilies(const MED::TMeshInfo& theInfo, - TErr* theErr) + TErr* theErr) { - TFileWrapper aFileWrapper(myFile, eLECTURE, theErr); + TFileWrapper aFileWrapper(myFile, eLECTURE, theErr, myMinor); if (theErr && *theErr < 0) return -1; @@ -381,11 +404,11 @@ namespace MED //---------------------------------------------------------------------------- TInt TWrapper - ::GetNbFamAttr(TInt theFamId, + ::GetNbFamAttr(TInt theFamId, const MED::TMeshInfo& theInfo, - TErr* theErr) + TErr* theErr) { - TFileWrapper aFileWrapper(myFile, eLECTURE, theErr); + TFileWrapper aFileWrapper(myFile, eLECTURE, theErr, myMinor); if (theErr && *theErr < 0) return -1; @@ -400,11 +423,11 @@ namespace MED //---------------------------------------------------------------------------- TInt TWrapper - ::GetNbFamGroup(TInt theFamId, + ::GetNbFamGroup(TInt theFamId, const MED::TMeshInfo& theInfo, - TErr* theErr) + TErr* theErr) { - TFileWrapper aFileWrapper(myFile, eLECTURE, theErr); + TFileWrapper aFileWrapper(myFile, eLECTURE, theErr, myMinor); if (theErr && *theErr < 0) return -1; @@ -419,11 +442,11 @@ namespace MED //---------------------------------------------------------------------------- void TWrapper - ::GetFamilyInfo(TInt theFamId, + ::GetFamilyInfo(TInt theFamId, MED::TFamilyInfo& theInfo, - TErr* theErr) + TErr* theErr) { - TFileWrapper aFileWrapper(myFile, eLECTURE, theErr); + TFileWrapper aFileWrapper(myFile, eLECTURE, theErr, myMinor); if (theErr && *theErr < 0) return; @@ -462,7 +485,7 @@ namespace MED void TWrapper ::SetFamilyInfo(const MED::TFamilyInfo& theInfo, - TErr* theErr) + TErr* theErr) { TErr aRet; SetFamilyInfo(theInfo, eLECTURE_ECRITURE, &aRet); @@ -478,10 +501,10 @@ namespace MED void TWrapper ::SetFamilyInfo(const MED::TFamilyInfo& theInfo, - EModeAcces theMode, - TErr* theErr) + EModeAcces theMode, + TErr* theErr) { - TFileWrapper aFileWrapper(myFile, theMode, theErr); + TFileWrapper aFileWrapper(myFile, theMode, theErr, myMinor); if (theErr && *theErr < 0) return; @@ -517,10 +540,10 @@ namespace MED //---------------------------------------------------------------------------- PFamilyInfo TWrapper - ::CrFamilyInfo(const PMeshInfo& theMeshInfo, - TInt theNbGroup, - TInt theNbAttr, - TInt theId, + ::CrFamilyInfo(const PMeshInfo& theMeshInfo, + TInt theNbGroup, + TInt theNbAttr, + TInt theId, const std::string& theValue) { return PFamilyInfo(new TTFamilyInfo @@ -534,13 +557,13 @@ namespace MED //---------------------------------------------------------------------------- PFamilyInfo TWrapper - ::CrFamilyInfo(const PMeshInfo& theMeshInfo, - const std::string& theValue, - TInt theId, - const MED::TStringSet& theGroupNames, + ::CrFamilyInfo(const PMeshInfo& theMeshInfo, + const std::string& theValue, + TInt theId, + const MED::TStringSet& theGroupNames, const MED::TStringVector& theAttrDescs, - const MED::TIntVector& theAttrIds, - const MED::TIntVector& theAttrVals) + const MED::TIntVector& theAttrIds, + const MED::TIntVector& theAttrVals) { return PFamilyInfo(new TTFamilyInfo (theMeshInfo, @@ -555,7 +578,7 @@ namespace MED //---------------------------------------------------------------------------- PFamilyInfo TWrapper - ::CrFamilyInfo(const PMeshInfo& theMeshInfo, + ::CrFamilyInfo(const PMeshInfo& theMeshInfo, const PFamilyInfo& theInfo) { return PFamilyInfo(new TTFamilyInfo @@ -567,8 +590,8 @@ namespace MED PFamilyInfo TWrapper ::GetPFamilyInfo(const PMeshInfo& theMeshInfo, - TInt theId, - TErr* theErr) + TInt theId, + TErr* theErr) { // must be reimplemented in connection with mesh type eSTRUCTURE // if (theMeshInfo->GetType() != eNON_STRUCTURE) @@ -597,13 +620,13 @@ namespace MED //---------------------------------------------------------------------------- void TWrapper - ::GetNames(TElemInfo& theInfo, - TInt theNb, - EEntiteMaillage theEntity, + ::GetNames(TElemInfo& theInfo, + TInt /*theNb*/, + EEntiteMaillage theEntity, EGeometrieElement theGeom, - TErr* theErr) + TErr* theErr) { - TFileWrapper aFileWrapper(myFile, eLECTURE, theErr); + TFileWrapper aFileWrapper(myFile, eLECTURE, theErr, myMinor); if (theErr && *theErr < 0) return; @@ -635,10 +658,10 @@ namespace MED //---------------------------------------------------------------------------- void TWrapper - ::SetNames(const TElemInfo& theInfo, - EEntiteMaillage theEntity, + ::SetNames(const TElemInfo& theInfo, + EEntiteMaillage theEntity, EGeometrieElement theGeom, - TErr* theErr) + TErr* theErr) { SetNames(theInfo, eLECTURE_ECRITURE, theEntity, theGeom, theErr); } @@ -646,13 +669,13 @@ namespace MED //---------------------------------------------------------------------------- void TWrapper - ::SetNames(const TElemInfo& theInfo, - EModeAcces theMode, - EEntiteMaillage theEntity, + ::SetNames(const TElemInfo& theInfo, + EModeAcces theMode, + EEntiteMaillage theEntity, EGeometrieElement theGeom, - TErr* theErr) + TErr* theErr) { - TFileWrapper aFileWrapper(myFile, theMode, theErr); + TFileWrapper aFileWrapper(myFile, theMode, theErr, myMinor); if (theErr && *theErr < 0) return; @@ -675,7 +698,7 @@ namespace MED MED_NO_DT, MED_NO_IT, anEntity, - aGeom, + aGeom, (TInt)anInfo.myElemNames->size(), &anElemNames); if (theErr) @@ -688,13 +711,13 @@ namespace MED //---------------------------------------------------------------------------- void TWrapper - ::GetNumeration(TElemInfo& theInfo, - TInt theNb, - EEntiteMaillage theEntity, + ::GetNumeration(TElemInfo& theInfo, + TInt /*theNb*/, + EEntiteMaillage theEntity, EGeometrieElement theGeom, - TErr* theErr) + TErr* theErr) { - TFileWrapper aFileWrapper(myFile, eLECTURE, theErr); + TFileWrapper aFileWrapper(myFile, eLECTURE, theErr, myMinor); if (theErr && *theErr < 0) return; @@ -726,10 +749,10 @@ namespace MED //---------------------------------------------------------------------------- void TWrapper - ::SetNumeration(const TElemInfo& theInfo, - EEntiteMaillage theEntity, + ::SetNumeration(const TElemInfo& theInfo, + EEntiteMaillage theEntity, EGeometrieElement theGeom, - TErr* theErr) + TErr* theErr) { SetNumeration(theInfo, eLECTURE_ECRITURE, theEntity, theGeom, theErr); } @@ -737,13 +760,13 @@ namespace MED //---------------------------------------------------------------------------- void TWrapper - ::SetNumeration(const TElemInfo& theInfo, - EModeAcces theMode, - EEntiteMaillage theEntity, + ::SetNumeration(const TElemInfo& theInfo, + EModeAcces theMode, + EEntiteMaillage theEntity, EGeometrieElement theGeom, - TErr* theErr) + TErr* theErr) { - TFileWrapper aFileWrapper(myFile, theMode, theErr); + TFileWrapper aFileWrapper(myFile, theMode, theErr, myMinor); if (theErr && *theErr < 0) return; @@ -779,13 +802,13 @@ namespace MED //---------------------------------------------------------------------------- void TWrapper - ::GetFamilies(TElemInfo& theInfo, - TInt theNb, - EEntiteMaillage theEntity, + ::GetFamilies(TElemInfo& theInfo, + TInt /*theNb*/, + EEntiteMaillage theEntity, EGeometrieElement theGeom, - TErr* theErr) + TErr* theErr) { - TFileWrapper aFileWrapper(myFile, eLECTURE, theErr); + TFileWrapper aFileWrapper(myFile, eLECTURE, theErr, myMinor); if (theErr && *theErr < 0) return; @@ -826,10 +849,10 @@ namespace MED //---------------------------------------------------------------------------- void TWrapper - ::SetFamilies(const TElemInfo& theInfo, - EEntiteMaillage theEntity, + ::SetFamilies(const TElemInfo& theInfo, + EEntiteMaillage theEntity, EGeometrieElement theGeom, - TErr* theErr) + TErr* theErr) { SetFamilies(theInfo, eLECTURE_ECRITURE, theEntity, theGeom, theErr); } @@ -837,13 +860,13 @@ namespace MED //---------------------------------------------------------------------------- void TWrapper - ::SetFamilies(const TElemInfo& theInfo, - EModeAcces theMode, - EEntiteMaillage theEntity, + ::SetFamilies(const TElemInfo& theInfo, + EModeAcces theMode, + EEntiteMaillage theEntity, EGeometrieElement theGeom, - TErr* theErr) + TErr* theErr) { - TFileWrapper aFileWrapper(myFile, theMode, theErr); + TFileWrapper aFileWrapper(myFile, theMode, theErr, myMinor); if (theErr && *theErr < 0) return; @@ -878,7 +901,7 @@ namespace MED TInt TWrapper ::GetNbNodes(const MED::TMeshInfo& theMeshInfo, - TErr* theErr) + TErr* theErr) { return GetNbNodes(theMeshInfo, eCOOR, theErr); } @@ -890,7 +913,7 @@ namespace MED ETable theTable, TErr* theErr) { - TFileWrapper aFileWrapper(myFile, eLECTURE, theErr); + TFileWrapper aFileWrapper(myFile, eLECTURE, theErr, myMinor); if (theErr && *theErr < 0) return -1; @@ -918,7 +941,7 @@ namespace MED ::GetNodeInfo(MED::TNodeInfo& theInfo, TErr* theErr) { - TFileWrapper aFileWrapper(myFile, eLECTURE, theErr); + TFileWrapper aFileWrapper(myFile, eLECTURE, theErr, myMinor); if (theErr && *theErr < 0) return; @@ -1009,7 +1032,7 @@ namespace MED EModeAcces theMode, TErr* theErr) { - TFileWrapper aFileWrapper(myFile, theMode, theErr); + TFileWrapper aFileWrapper(myFile, theMode, theErr, myMinor); if (theErr && *theErr < 0) return; @@ -1320,7 +1343,7 @@ namespace MED EConnectivite theConnMode, TErr* theErr) { - TFileWrapper aFileWrapper(myFile, eLECTURE, theErr); + TFileWrapper aFileWrapper(myFile, eLECTURE, theErr, myMinor); if (theErr && *theErr < 0) return 0; @@ -1353,7 +1376,7 @@ namespace MED ::GetPolygoneInfo(MED::TPolygoneInfo& theInfo, TErr* theErr) { - TFileWrapper aFileWrapper(myFile, eLECTURE, theErr); + TFileWrapper aFileWrapper(myFile, eLECTURE, theErr, myMinor); if (theErr && *theErr < 0) return; @@ -1412,7 +1435,7 @@ namespace MED EModeAcces theMode, TErr* theErr) { - TFileWrapper aFileWrapper(myFile, theMode, theErr); + TFileWrapper aFileWrapper(myFile, theMode, theErr, myMinor); if (theErr && *theErr < 0) return; @@ -1564,7 +1587,7 @@ namespace MED EConnectivite theConnMode, TErr* theErr) { - TFileWrapper aFileWrapper(myFile, eLECTURE, theErr); + TFileWrapper aFileWrapper(myFile, eLECTURE, theErr, myMinor); if (theErr && *theErr < 0) EXCEPTION(std::runtime_error, "GetPolyedreConnSize - (...)"); @@ -1610,7 +1633,7 @@ namespace MED ::GetPolyedreInfo(TPolyedreInfo& theInfo, TErr* theErr) { - TFileWrapper aFileWrapper(myFile, eLECTURE, theErr); + TFileWrapper aFileWrapper(myFile, eLECTURE, theErr, myMinor); if (theErr && *theErr < 0) return; @@ -1673,7 +1696,7 @@ namespace MED EModeAcces theMode, TErr* theErr) { - TFileWrapper aFileWrapper(myFile, theMode, theErr); + TFileWrapper aFileWrapper(myFile, theMode, theErr, myMinor); if (theErr && *theErr < 0) return; @@ -1869,7 +1892,7 @@ namespace MED { TEntityInfo anInfo; - TFileWrapper aFileWrapper(myFile, eLECTURE, theErr); + TFileWrapper aFileWrapper(myFile, eLECTURE, theErr, myMinor); if (theErr && *theErr < 0) return anInfo; @@ -1981,7 +2004,7 @@ namespace MED EConnectivite theConnMode, TErr* theErr) { - TFileWrapper aFileWrapper(myFile, eLECTURE, theErr); + TFileWrapper aFileWrapper(myFile, eLECTURE, theErr, myMinor); if (theErr && *theErr < 0) return -1; @@ -2030,7 +2053,7 @@ namespace MED ::GetCellInfo(MED::TCellInfo& theInfo, TErr* theErr) { - TFileWrapper aFileWrapper(myFile, eLECTURE, theErr); + TFileWrapper aFileWrapper(myFile, eLECTURE, theErr, myMinor); if (theErr && *theErr < 0) return; @@ -2051,6 +2074,24 @@ namespace MED TValueHolder aConnMode (theInfo.myConnMode); TErr aRet; + med_bool dummy; + aRet = MEDmeshnEntity(myFile->Id(), + &aMeshName, + MED_NO_DT, + MED_NO_IT, + anEntity, + aGeom, + MED_NAME, + aConnMode, + &dummy, &dummy); + if ( aRet > 0 ) + { + // names are present in the file, they will be read in spite of theInfo.myIsElemNames + theInfo.myIsElemNames = eVRAI; + theInfo.myElemNames.reset( new TString( theInfo.myNbElem * GetPNOMLength() + 1 )); + anElemNames.myRepresentation = & ((TString&) theInfo.myElemNames )[0]; + } + aRet = MEDmeshElementRd(myFile->Id(), &aMeshName, MED_NO_DT, @@ -2073,11 +2114,11 @@ namespace MED EXCEPTION(std::runtime_error, "GetCellInfo - MEDmeshElementRd(...)"); if (anIsFamNum == MED_FALSE) - { - int mySize = (int) theInfo.myFamNum->size(); - theInfo.myFamNum->clear(); - theInfo.myFamNum->resize(mySize, 0); - } + { + int mySize = (int) theInfo.myFamNum->size(); + theInfo.myFamNum->clear(); + theInfo.myFamNum->resize(mySize, 0); + } } @@ -2097,7 +2138,7 @@ namespace MED EModeAcces theMode, TErr* theErr) { - TFileWrapper aFileWrapper(myFile, theMode, theErr); + TFileWrapper aFileWrapper(myFile, theMode, theErr, myMinor); if (theErr && *theErr < 0) return; @@ -2161,20 +2202,20 @@ namespace MED if (theErr) *theErr = aRet; else if (aRet < 0) - EXCEPTION(std::runtime_error, "SetCellInfo - MEDmeshElementWr(...)"); + EXCEPTION(std::runtime_error, "SetCellInfo - MEDmeshElementWr(...), ret="<< aRet); } //---------------------------------------------------------------------------- PCellInfo TWrapper - ::CrCellInfo(const PMeshInfo& theMeshInfo, - EEntiteMaillage theEntity, + ::CrCellInfo(const PMeshInfo& theMeshInfo, + EEntiteMaillage theEntity, EGeometrieElement theGeom, - TInt theNbElem, - EConnectivite theConnMode, - EBooleen theIsElemNum, - EBooleen theIsElemNames, - EModeSwitch theMode) + TInt theNbElem, + EConnectivite theConnMode, + EBooleen theIsElemNum, + EBooleen theIsElemNames, + EModeSwitch theMode) { return PCellInfo(new TTCellInfo (theMeshInfo, @@ -2273,9 +2314,10 @@ namespace MED //---------------------------------------------------------------------------- EGeometrieElement TWrapper - ::GetBallGeom(const TMeshInfo& theMeshInfo) + ::GetBallGeom(const TMeshInfo& /*theMeshInfo*/) { - TFileWrapper aFileWrapper(myFile, eLECTURE); + TErr anError; + TFileWrapper aFileWrapper(myFile, eLECTURE, &anError, myMinor); // read med_geometry_type of "MED_BALL" element char geotypename[ MED_NAME_SIZE + 1] = MED_BALL_NAME; @@ -2287,7 +2329,8 @@ namespace MED TWrapper ::GetNbBalls(const TMeshInfo& theMeshInfo) { - TFileWrapper aFileWrapper(myFile, eLECTURE); + TErr anError; + TFileWrapper aFileWrapper(myFile, eLECTURE, &anError, myMinor); EGeometrieElement ballType = GetBallGeom(theMeshInfo); if (ballType < 0) @@ -2302,7 +2345,7 @@ namespace MED ::GetBallInfo(TBallInfo& theInfo, TErr* theErr) { - TFileWrapper aFileWrapper(myFile, eLECTURE, theErr); + TFileWrapper aFileWrapper(myFile, eLECTURE, theErr, myMinor); // check geometry of MED_BALL if (theInfo.myGeom == eBALL) @@ -2352,7 +2395,7 @@ namespace MED EModeAcces theMode, TErr* theErr) { - TFileWrapper aFileWrapper(myFile, theMode, theErr); + TFileWrapper aFileWrapper(myFile, theMode, theErr, myMinor); TErr ret; char ballsupportname[MED_NAME_SIZE+1] = "BALL_SUPPORT_MESH"; @@ -2412,7 +2455,7 @@ namespace MED // write node ids SetCellInfo(theInfo, theMode, theErr); - if (theErr && theErr < 0) + if (theErr && *theErr < 0) return; // write diameter @@ -2480,7 +2523,7 @@ namespace MED TWrapper ::GetNbFields(TErr* theErr) { - TFileWrapper aFileWrapper(myFile, eLECTURE, theErr); + TFileWrapper aFileWrapper(myFile, eLECTURE, theErr, myMinor); if (theErr && *theErr < 0) return -1; @@ -2494,7 +2537,7 @@ namespace MED ::GetNbComp(TInt theFieldId, TErr* theErr) { - TFileWrapper aFileWrapper(myFile, eLECTURE, theErr); + TFileWrapper aFileWrapper(myFile, eLECTURE, theErr, myMinor); if (theErr && *theErr < 0) return -1; @@ -2509,7 +2552,7 @@ namespace MED MED::TFieldInfo& theInfo, TErr* theErr) { - TFileWrapper aFileWrapper(myFile, eLECTURE, theErr); + TFileWrapper aFileWrapper(myFile, eLECTURE, theErr, myMinor); if (theErr && *theErr < 0) return; @@ -2574,7 +2617,7 @@ namespace MED EModeAcces theMode, TErr* theErr) { - TFileWrapper aFileWrapper(myFile, theMode, theErr); + TFileWrapper aFileWrapper(myFile, theMode, theErr, myMinor); if (theErr && *theErr < 0) return; @@ -2661,7 +2704,7 @@ namespace MED TWrapper ::GetNbGauss(TErr* theErr) { - TFileWrapper aFileWrapper(myFile, eLECTURE, theErr); + TFileWrapper aFileWrapper(myFile, eLECTURE, theErr, myMinor); if (theErr && *theErr < 0) return -1; @@ -2675,7 +2718,7 @@ namespace MED ::GetGaussPreInfo(TInt theId, TErr* theErr) { - TFileWrapper aFileWrapper(myFile, eLECTURE, theErr); + TFileWrapper aFileWrapper(myFile, eLECTURE, theErr, myMinor); if (theErr && *theErr < 0) return TGaussInfo::TInfo(TGaussInfo::TKey(ePOINT1, ""), 0); @@ -2711,11 +2754,11 @@ namespace MED //---------------------------------------------------------------------------- void TWrapper - ::GetGaussInfo(TInt theId, + ::GetGaussInfo(TInt /*theId*/, TGaussInfo& theInfo, TErr* theErr) { - TFileWrapper aFileWrapper(myFile, eLECTURE, theErr); + TFileWrapper aFileWrapper(myFile, eLECTURE, theErr, myMinor); if (theErr && *theErr < 0) return; @@ -2761,7 +2804,7 @@ namespace MED TErr* theErr) { theEntity = EEntiteMaillage(-1); - TFileWrapper aFileWrapper(myFile, eLECTURE, theErr); + TFileWrapper aFileWrapper(myFile, eLECTURE, theErr, myMinor); if (theErr) { if (theEntityInfo.empty()) @@ -2884,7 +2927,7 @@ namespace MED MED::TTimeStampInfo& theInfo, TErr* theErr) { - TFileWrapper aFileWrapper(myFile, eLECTURE, theErr); + TFileWrapper aFileWrapper(myFile, eLECTURE, theErr, myMinor); const TGeom2Size& aGeom2Size = theInfo.myGeom2Size; @@ -3037,7 +3080,7 @@ namespace MED TWrapper ::GetNbProfiles(TErr* theErr) { - TFileWrapper aFileWrapper(myFile, eLECTURE, theErr); + TFileWrapper aFileWrapper(myFile, eLECTURE, theErr, myMinor); if (theErr && *theErr < 0) return -1; @@ -3051,7 +3094,7 @@ namespace MED ::GetProfilePreInfo(TInt theId, TErr* theErr) { - TFileWrapper aFileWrapper(myFile, eLECTURE, theErr); + TFileWrapper aFileWrapper(myFile, eLECTURE, theErr, myMinor); if (theErr && *theErr < 0) return TProfileInfo::TInfo(); @@ -3075,11 +3118,11 @@ namespace MED //---------------------------------------------------------------------------- void TWrapper - ::GetProfileInfo(TInt theId, + ::GetProfileInfo(TInt /*theId*/, TProfileInfo& theInfo, TErr* theErr) { - TFileWrapper aFileWrapper(myFile, eLECTURE, theErr); + TFileWrapper aFileWrapper(myFile, eLECTURE, theErr, myMinor); if (theErr && *theErr < 0) return; @@ -3124,7 +3167,7 @@ namespace MED EModeAcces theMode, TErr* theErr) { - TFileWrapper aFileWrapper(myFile, theMode, theErr); + TFileWrapper aFileWrapper(myFile, theMode, theErr, myMinor); if (theErr && *theErr < 0) return; @@ -3177,7 +3220,7 @@ namespace MED const TKey2Gauss& theKey2Gauss, TErr* theErr) { - TFileWrapper aFileWrapper(myFile, eLECTURE, theErr); + TFileWrapper aFileWrapper(myFile, eLECTURE, theErr, myMinor); if (theErr && *theErr < 0) return; @@ -3361,7 +3404,7 @@ namespace MED EModeAcces theMode, TErr* theErr) { - TFileWrapper aFileWrapper(myFile, theMode, theErr); + TFileWrapper aFileWrapper(myFile, theMode, theErr, myMinor); if (theErr && *theErr < 0) return; @@ -3698,7 +3741,7 @@ namespace MED ::GetGrilleInfo(TGrilleInfo& theInfo, TErr* theErr) { - TFileWrapper aFileWrapper(myFile, eLECTURE, theErr); + TFileWrapper aFileWrapper(myFile, eLECTURE, theErr, myMinor); if (theErr && *theErr < 0) return; @@ -3868,7 +3911,7 @@ namespace MED { if (theInfo.myMeshInfo->myType != eSTRUCTURE) return; - TFileWrapper aFileWrapper(myFile, theMode, theErr); + TFileWrapper aFileWrapper(myFile, theMode, theErr, myMinor); if (theErr && *theErr < 0) return; @@ -3954,7 +3997,7 @@ namespace MED //---------------------------------------------------------------------------- PGrilleInfo TWrapper - ::CrGrilleInfo(const PMeshInfo& theMeshInfo) + ::CrGrilleInfo(const PMeshInfo& /*theMeshInfo*/) { return PGrilleInfo(); // not implemented???? } @@ -4003,7 +4046,7 @@ namespace MED EGrilleType& theGridType, TErr* theErr) { - TFileWrapper aFileWrapper(myFile, eLECTURE, theErr); + TFileWrapper aFileWrapper(myFile, eLECTURE, theErr, myMinor); if (theErr && *theErr < 0) EXCEPTION(std::runtime_error, " GetGrilleType - aFileWrapper (...)"); @@ -4029,7 +4072,7 @@ namespace MED TIntVector& theStruct, TErr* theErr) { - TFileWrapper aFileWrapper(myFile, eLECTURE, theErr); + TFileWrapper aFileWrapper(myFile, eLECTURE, theErr, myMinor); if (theErr && *theErr < 0) return;