X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FMEDWrapper%2FMED_Wrapper.cxx;fp=src%2FMEDWrapper%2FMED_Wrapper.cxx;h=85a8d9f35d1214b01962c4f13f3c2735f404f654;hp=157f9834285bc7cb20ace11d84957ed797257e68;hb=e63b88c7f344d9a9a6b398b25305c8c610dfcdf0;hpb=35b85c05393b11ad62ee6125279750d671a7481a diff --git a/src/MEDWrapper/MED_Wrapper.cxx b/src/MEDWrapper/MED_Wrapper.cxx index 157f98342..85a8d9f35 100644 --- a/src/MEDWrapper/MED_Wrapper.cxx +++ b/src/MEDWrapper/MED_Wrapper.cxx @@ -195,8 +195,8 @@ namespace MED if ( write ) { myFile->Open(eLECTURE_ECRITURE, &aRet); if (aRet < 0) { - myFile->Close(); - myFile->Open(eCREATION, &aRet); + myFile->Close(); + myFile->Open(eCREATION, &aRet); } } else { @@ -2058,6 +2058,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, @@ -2080,11 +2098,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); + } }