diff --git a/Geo/GModelIO_Mesh.cpp b/Geo/GModelIO_Mesh.cpp index 02c1c703550978aa34742b521636925f98ec7aa8..382ccecf76252750c7394af4d5f2caf88d030e31 100644 --- a/Geo/GModelIO_Mesh.cpp +++ b/Geo/GModelIO_Mesh.cpp @@ -663,8 +663,10 @@ static int getNumElementsMSH(GModel *m, bool saveAll, int saveSinglePartition) for(GModel::fiter it = m->firstFace(); it != m->lastFace(); ++it){ n += getNumElementsMSH(*it, saveAll, saveSinglePartition); if ( CTX::instance()->mesh.saveTri){ - for(unsigned int i = 0; i < (*it)->polygons.size(); i++) - n += (*it)->polygons[i]->getNumChildren()-1; + for(unsigned int i = 0; i < (*it)->polygons.size(); i++){ + int nbC = (*it)->polygons[i]->getNumChildren()-1; + n += (saveAll ? nbC : nbC * (*it)->physicals.size()); + } } else{ for(unsigned int i = 0; i < (*it)->polygons.size(); i++)