diff --git a/Geo/GModelIO_GEO.cpp b/Geo/GModelIO_GEO.cpp index c7a3bb403c79acf052ebe19f24e297c11bf23419..ba8485b3a77031fbc529891d27ebdc043858dba9 100644 --- a/Geo/GModelIO_GEO.cpp +++ b/Geo/GModelIO_GEO.cpp @@ -134,6 +134,9 @@ int GModel::importGEOInternals() v = new gmshVertex(this, p); add(v); } + else{ + v->resetMeshAttributes(); + } if(!p->Visible) v->setVisibility(0); } List_Delete(points); @@ -170,6 +173,9 @@ int GModel::importGEOInternals() e = new gmshEdge(this, c, 0, 0); add(e); } + else{ + e->resetMeshAttributes(); + } if(!c->Visible) e->setVisibility(0); if(c->Color.type) e->setColor(c->Color.mesh); @@ -297,8 +303,9 @@ int GModel::importGEOInternals() r = new gmshRegion(this, v); add(r); } - else + else{ r->resetMeshAttributes(); + } if(!v->Visible) r->setVisibility(0); if(v->Color.type) r->setColor(v->Color.mesh); } @@ -326,27 +333,29 @@ int GModel::importGEOInternals() } // create periodic mesh relationships - - for (std::map<int,int>::iterator it = _geo_internals->periodicEdges.begin(); - it != _geo_internals->periodicEdges.end(); ++it){ + for(std::map<int,int>::iterator it = _geo_internals->periodicEdges.begin(); + it != _geo_internals->periodicEdges.end(); ++it){ GEdge *ge = getEdgeByTag(abs(it->first)); if (ge){ int MASTER = it->second * (it->first > 0 ? 1 : -1); ge->setMeshMaster(MASTER); } } - for (std::map<int,int>::iterator it = _geo_internals->periodicFaces.begin(); + for(std::map<int,int>::iterator it = _geo_internals->periodicFaces.begin(); it != _geo_internals->periodicFaces.end(); ++it){ GFace *gf = getFaceByTag(abs(it->first)); if (gf)gf->setMeshMaster(it->second * (it->first > 0 ? 1 : -1)); } - - for (eiter it = firstEdge() ; it != lastEdge() ; ++it){ + for(eiter it = firstEdge() ; it != lastEdge() ; ++it){ int meshMaster = (*it)->meshMaster(); if (meshMaster != (*it)->tag()){ GEdge *ge_master = getEdgeByTag(abs(meshMaster)); - if(ge_master)(*it)->getBeginVertex()->setMeshMaster ( (meshMaster > 0) ? ge_master->getBeginVertex()->tag() : ge_master->getEndVertex()->tag()); - if(ge_master)(*it)->getEndVertex()->setMeshMaster ( (meshMaster < 0) ? ge_master->getBeginVertex()->tag() : ge_master->getEndVertex()->tag()); + if(ge_master) + (*it)->getBeginVertex()->setMeshMaster((meshMaster > 0) ? ge_master->getBeginVertex()->tag() : + ge_master->getEndVertex()->tag()); + if(ge_master) + (*it)->getEndVertex()->setMeshMaster((meshMaster < 0) ? ge_master->getBeginVertex()->tag() : + ge_master->getEndVertex()->tag()); } }