From c87b4063e3ae74cacf8c6009613cf48d814be5bd Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Mon, 3 Jun 2013 10:19:12 +0000 Subject: [PATCH] don't create element cache by default (it's quite slow on really large meshes); we'll create it if needed on demand --- Geo/GModelIO_MSH.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/Geo/GModelIO_MSH.cpp b/Geo/GModelIO_MSH.cpp index c9fa0ed3d9..4a424cb81d 100644 --- a/Geo/GModelIO_MSH.cpp +++ b/Geo/GModelIO_MSH.cpp @@ -16,7 +16,7 @@ #include "MPyramid.h" #include "StringUtils.h" -void writeMSHPeriodicNodes (FILE *fp, std::vector<GEntity*> &entities) +void writeMSHPeriodicNodes(FILE *fp, std::vector<GEntity*> &entities) { int count = 0; for (unsigned int i = 0; i < entities.size(); i++) @@ -48,7 +48,7 @@ void writeMSHPeriodicNodes (FILE *fp, std::vector<GEntity*> &entities) fprintf(fp, "$EndPeriodic\n"); } -void readMSHPeriodicNodes (FILE *fp, GModel *gm) +void readMSHPeriodicNodes(FILE *fp, GModel *gm) { int count; if(fscanf(fp, "%d", &count) != 1) return; @@ -310,7 +310,6 @@ int GModel::readMSH(const std::string &name) if(sscanf(str, "%d", &numElements) != 1){ fclose(fp); return 0; } Msg::Info("%d elements", numElements); Msg::ResetProgressMeter(); - _elementMapCache.clear(); for(int i = 0; i < numElements; i++) { int num, type, entity, numData; if(!binary){ @@ -360,7 +359,6 @@ int GModel::readMSH(const std::string &name) case TYPE_POLYG: elements[8][entity].push_back(element); break; case TYPE_POLYH: elements[9][entity].push_back(element); break; } - _elementMapCache[num] = element; if(numElements > 100000) Msg::ProgressMeter(i + 1, numElements, true, "Reading elements"); } @@ -377,7 +375,6 @@ int GModel::readMSH(const std::string &name) readMSHPeriodicNodes (fp, this); } - do { if(!fgets(str, sizeof(str), fp) || feof(fp)) break; -- GitLab