mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-25 17:00:34 +05:00
#16927: Error when loading a med file with 140 millions elements
This commit is contained in:
parent
35b85c0539
commit
e63b88c7f3
@ -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<EConnectivite, med_connectivity_mode> 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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -279,7 +279,7 @@ namespace MED
|
||||
EModeSwitch theMode = eFULL_INTERLACE,
|
||||
ERepere theSystem = eCART,
|
||||
EBooleen theIsElemNum = eVRAI,
|
||||
EBooleen theIsElemNames = eVRAI);
|
||||
EBooleen theIsElemNames = eFAUX);
|
||||
|
||||
//! Create a MEDWrapper MED Nodes representation
|
||||
virtual
|
||||
@ -521,7 +521,7 @@ namespace MED
|
||||
TInt theNbElem,
|
||||
EConnectivite theConnMode = eNOD,
|
||||
EBooleen theIsElemNum = eVRAI,
|
||||
EBooleen theIsElemNames = eVRAI,
|
||||
EBooleen theIsElemNames = eFAUX,
|
||||
EModeSwitch theMode = eFULL_INTERLACE);
|
||||
|
||||
//! Create a MEDWrapper MED Cells representation
|
||||
|
Loading…
Reference in New Issue
Block a user