Salome HOME
projects
/
modules
/
smesh.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
MED write/append with a lower major version of MED file format: second step
[modules/smesh.git]
/
src
/
DriverMED
/
DriverMED_R_SMESHDS_Mesh.cxx
diff --git
a/src/DriverMED/DriverMED_R_SMESHDS_Mesh.cxx
b/src/DriverMED/DriverMED_R_SMESHDS_Mesh.cxx
index 000316955a73241fe05852f971e80d25461f14b6..362874425a1428fc38efa13e0fd4d08130a15e86 100644
(file)
--- a/
src/DriverMED/DriverMED_R_SMESHDS_Mesh.cxx
+++ b/
src/DriverMED/DriverMED_R_SMESHDS_Mesh.cxx
@@
-110,7
+110,7
@@
Driver_Mesh::Status DriverMED_R_SMESHDS_Mesh::Perform()
#endif
myFamilies.clear();
if(MYDEBUG) MESSAGE("Perform - myFile : "<<myFile);
#endif
myFamilies.clear();
if(MYDEBUG) MESSAGE("Perform - myFile : "<<myFile);
- PWrapper aMed = CrWrapper
(myFile,tru
e);
+ PWrapper aMed = CrWrapper
R(myFil
e);
aResult = DRS_EMPTY;
TInt aNbMeshes = aMed->GetNbMeshes();
aResult = DRS_EMPTY;
TInt aNbMeshes = aMed->GetNbMeshes();
@@
-156,7
+156,7
@@
Driver_Mesh::Status DriverMED_R_SMESHDS_Mesh::Perform()
}
if(MYDEBUG) MESSAGE(aGroupName);
if ( strncmp( aGroupName.c_str(), NIG_GROUP_PREFIX, strlen(NIG_GROUP_PREFIX) ) != 0 )
}
if(MYDEBUG) MESSAGE(aGroupName);
if ( strncmp( aGroupName.c_str(), NIG_GROUP_PREFIX, strlen(NIG_GROUP_PREFIX) ) != 0 )
- aFamily->AddGroupName(
aGroupName
);
+ aFamily->AddGroupName(
fixUTF8( aGroupName )
);
}
aFamily->SetId( aFamId );
myFamilies[aFamId] = aFamily;
}
aFamily->SetId( aFamId );
myFamilies[aFamId] = aFamily;
@@
-273,7
+273,7
@@
Driver_Mesh::Status DriverMED_R_SMESHDS_Mesh::Perform()
if ( anIsElemNum && !aBallInfo->myElemNum->empty() )
maxID = *std::max_element( aBallInfo->myElemNum->begin(),
aBallInfo->myElemNum->end() );
if ( anIsElemNum && !aBallInfo->myElemNum->empty() )
maxID = *std::max_element( aBallInfo->myElemNum->begin(),
aBallInfo->myElemNum->end() );
- myMesh->
g
etGrid()->AllocateDiameters( maxID ); // performance optimization
+ myMesh->
G
etGrid()->AllocateDiameters( maxID ); // performance optimization
// create balls
SMDS_MeshElement* anElement;
// create balls
SMDS_MeshElement* anElement;
@@
-1038,8
+1038,6
@@
Driver_Mesh::Status DriverMED_R_SMESHDS_Mesh::Perform()
aResult = addMessage( "Unknown exception", /*isFatal=*/true );
}
#endif
aResult = addMessage( "Unknown exception", /*isFatal=*/true );
}
#endif
- if (myMesh)
- myMesh->compactMesh();
// Mantis issue 0020483
if (aResult == DRS_OK && isDescConn) {
// Mantis issue 0020483
if (aResult == DRS_OK && isDescConn) {
@@
-1058,7
+1056,7
@@
list<string> DriverMED_R_SMESHDS_Mesh::GetMeshNames(Status& theStatus)
try {
if(MYDEBUG) MESSAGE("GetMeshNames - myFile : " << myFile);
theStatus = DRS_OK;
try {
if(MYDEBUG) MESSAGE("GetMeshNames - myFile : " << myFile);
theStatus = DRS_OK;
- PWrapper aMed = CrWrapper(myFile);
+ PWrapper aMed = CrWrapper
R
(myFile);
if (TInt aNbMeshes = aMed->GetNbMeshes()) {
for (int iMesh = 0; iMesh < aNbMeshes; iMesh++) {
if (TInt aNbMeshes = aMed->GetNbMeshes()) {
for (int iMesh = 0; iMesh < aNbMeshes; iMesh++) {
@@
-1137,6
+1135,14
@@
void DriverMED_R_SMESHDS_Mesh::GetGroup(SMESHDS_Group* theGroup)
if (( famVecPtr = myGroups2FamiliesMap.ChangeSeek( aGroupName )))
{
if (( famVecPtr = myGroups2FamiliesMap.ChangeSeek( aGroupName )))
{
+ size_t groupSize = 0;
+ for ( size_t i = 0; i < famVecPtr->size(); ++i )
+ {
+ DriverMED_FamilyPtr aFamily = (*famVecPtr)[i];
+ groupSize += aFamily->NbElements( theGroup->GetType() );
+ }
+ theGroup->SMDSGroup().Reserve( groupSize );
+
for ( size_t i = 0; i < famVecPtr->size(); ++i )
{
DriverMED_FamilyPtr aFamily = (*famVecPtr)[i];
for ( size_t i = 0; i < famVecPtr->size(); ++i )
{
DriverMED_FamilyPtr aFamily = (*famVecPtr)[i];