diff --git a/Geo/GFaceCompound.cpp b/Geo/GFaceCompound.cpp index bc965d60e403cd1ee54d4126d128bd0c7af47895..39639edb15146f257a1ed512440a48e7e3c87c0f 100644 --- a/Geo/GFaceCompound.cpp +++ b/Geo/GFaceCompound.cpp @@ -942,12 +942,12 @@ bool GFaceCompound::parametrize() const oriented = checkOrientation(0); //printStuff(77); if (_type==SPECTRAL && (!oriented || overlap) ){ - Msg::Warning("!!! parametrization switched to 'FE conformal' map"); + Msg::Warning("Parametrization switched to 'FE conformal' map"); overlap = parametrize_conformal(0, NULL, NULL); oriented = checkOrientation(0); } if (!oriented || overlap){ - Msg::Warning("$$$ parametrization switched to 'convex' map"); + Msg::Warning("Parametrization switched to 'convex' map"); _type = UNITCIRCLE; parametrize(ITERU,CONVEX); parametrize(ITERV,CONVEX); @@ -2543,7 +2543,7 @@ bool GFaceCompound::checkTopology() const if (G != 0 || Nb < 1){ correctTopo = false; nbSplit = std::max(G+2, 2); - Msg::Warning("Wrong topology: Genus=%d, Nb boundaries=%d, AR=%g", G, Nb, H/D); + Msg::Info("Wrong topology: Genus=%d, Nb boundaries=%d, AR=%g", G, Nb, H/D); if (_allowPartition){ Msg::Info("-----------------------------------------------------------"); Msg::Info("--- Split surface %d in %d parts with Multilevel Mesh partitioner", @@ -2557,8 +2557,8 @@ bool GFaceCompound::checkTopology() const } else if (G == 0 && AR > AR_MAX){ correctTopo = false; - Msg::Warning("Wrong topology: Aspect ratio is too high AR=%d (AR1=%d AR2=%d)", - AR, AR1, AR2); + Msg::Info("Wrong topology: Aspect ratio is too high AR=%d (AR1=%d AR2=%d)", + AR, AR1, AR2); if (_allowPartition == 1){ nbSplit = -2; Msg::Info("-----------------------------------------------------------"); diff --git a/Geo/GModel.cpp b/Geo/GModel.cpp index 316631bcfe82ee96aa1c6e0d2058b7bf72e58dfc..c051fe1031982d71fb8c93766caea6ea68a04004 100644 --- a/Geo/GModel.cpp +++ b/Geo/GModel.cpp @@ -93,13 +93,23 @@ GModel::~GModel() { std::vector<GModel*>::iterator it = std::find(list.begin(), list.end(), this); if(it != list.end()) list.erase(it); + + if(getVisibility()){ + // if no other model is visible, make the last one visible + bool othervisible = false; + for(unsigned int i = 0; i < list.size(); i++){ + if(list[i]->getVisibility()) othervisible = true; + } + if(!othervisible && list.size()) + list.back()->setVisibility(1); + } + destroy(); _deleteGEOInternals(); _deleteOCCInternals(); #if defined(HAVE_MESH) delete _fields; #endif - if(_factory) delete _factory; }