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 ) {
|
if ( write ) {
|
||||||
myFile->Open(eLECTURE_ECRITURE, &aRet);
|
myFile->Open(eLECTURE_ECRITURE, &aRet);
|
||||||
if (aRet < 0) {
|
if (aRet < 0) {
|
||||||
myFile->Close();
|
myFile->Close();
|
||||||
myFile->Open(eCREATION, &aRet);
|
myFile->Open(eCREATION, &aRet);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -2058,6 +2058,24 @@ namespace MED
|
|||||||
TValueHolder<EConnectivite, med_connectivity_mode> aConnMode (theInfo.myConnMode);
|
TValueHolder<EConnectivite, med_connectivity_mode> aConnMode (theInfo.myConnMode);
|
||||||
|
|
||||||
TErr aRet;
|
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(),
|
aRet = MEDmeshElementRd(myFile->Id(),
|
||||||
&aMeshName,
|
&aMeshName,
|
||||||
MED_NO_DT,
|
MED_NO_DT,
|
||||||
@ -2080,11 +2098,11 @@ namespace MED
|
|||||||
EXCEPTION(std::runtime_error, "GetCellInfo - MEDmeshElementRd(...)");
|
EXCEPTION(std::runtime_error, "GetCellInfo - MEDmeshElementRd(...)");
|
||||||
|
|
||||||
if (anIsFamNum == MED_FALSE)
|
if (anIsFamNum == MED_FALSE)
|
||||||
{
|
{
|
||||||
int mySize = (int) theInfo.myFamNum->size();
|
int mySize = (int) theInfo.myFamNum->size();
|
||||||
theInfo.myFamNum->clear();
|
theInfo.myFamNum->clear();
|
||||||
theInfo.myFamNum->resize(mySize, 0);
|
theInfo.myFamNum->resize(mySize, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -279,7 +279,7 @@ namespace MED
|
|||||||
EModeSwitch theMode = eFULL_INTERLACE,
|
EModeSwitch theMode = eFULL_INTERLACE,
|
||||||
ERepere theSystem = eCART,
|
ERepere theSystem = eCART,
|
||||||
EBooleen theIsElemNum = eVRAI,
|
EBooleen theIsElemNum = eVRAI,
|
||||||
EBooleen theIsElemNames = eVRAI);
|
EBooleen theIsElemNames = eFAUX);
|
||||||
|
|
||||||
//! Create a MEDWrapper MED Nodes representation
|
//! Create a MEDWrapper MED Nodes representation
|
||||||
virtual
|
virtual
|
||||||
@ -521,7 +521,7 @@ namespace MED
|
|||||||
TInt theNbElem,
|
TInt theNbElem,
|
||||||
EConnectivite theConnMode = eNOD,
|
EConnectivite theConnMode = eNOD,
|
||||||
EBooleen theIsElemNum = eVRAI,
|
EBooleen theIsElemNum = eVRAI,
|
||||||
EBooleen theIsElemNames = eVRAI,
|
EBooleen theIsElemNames = eFAUX,
|
||||||
EModeSwitch theMode = eFULL_INTERLACE);
|
EModeSwitch theMode = eFULL_INTERLACE);
|
||||||
|
|
||||||
//! Create a MEDWrapper MED Cells representation
|
//! Create a MEDWrapper MED Cells representation
|
||||||
|
Loading…
Reference in New Issue
Block a user