Skip to content
Snippets Groups Projects
Commit cc426f76 authored by Christophe Geuzaine's avatar Christophe Geuzaine
Browse files

fix boundary layers from discreteEdges/Faces

parent 0b1a56f2
No related branches found
No related tags found
No related merge requests found
...@@ -437,7 +437,6 @@ static void Mesh2D(GModel *m) ...@@ -437,7 +437,6 @@ static void Mesh2D(GModel *m)
// and curve meshes) is global as it depends on a smooth normal // and curve meshes) is global as it depends on a smooth normal
// field generated from the surface mesh of the source surfaces // field generated from the surface mesh of the source surfaces
if(!Mesh2DWithBoundaryLayers(m)){ if(!Mesh2DWithBoundaryLayers(m)){
std::set<GFace*> cf, f; std::set<GFace*> cf, f;
for(GModel::fiter it = m->firstFace(); it != m->lastFace(); ++it) for(GModel::fiter it = m->firstFace(); it != m->lastFace(); ++it)
if ((*it)->geomType() == GEntity::CompoundSurface) if ((*it)->geomType() == GEntity::CompoundSurface)
......
...@@ -899,6 +899,8 @@ static void removeHighOrderVertices(GEntity *e) ...@@ -899,6 +899,8 @@ static void removeHighOrderVertices(GEntity *e)
void SetOrder1(GModel *m) void SetOrder1(GModel *m)
{ {
Msg::StatusBar(2, true, "Meshing order 1...");
m->destroyMeshCaches(); m->destroyMeshCaches();
// replace all elements with first order elements // replace all elements with first order elements
...@@ -923,6 +925,8 @@ void SetOrder1(GModel *m) ...@@ -923,6 +925,8 @@ void SetOrder1(GModel *m)
removeHighOrderVertices(*it); removeHighOrderVertices(*it);
for(GModel::riter it = m->firstRegion(); it != m->lastRegion(); ++it) for(GModel::riter it = m->firstRegion(); it != m->lastRegion(); ++it)
removeHighOrderVertices(*it); removeHighOrderVertices(*it);
Msg::StatusBar(2, true, "Done meshing order 1");
} }
void checkHighOrderTriangles(const char* cc, GModel *m, void checkHighOrderTriangles(const char* cc, GModel *m,
......
...@@ -67,7 +67,8 @@ int MeshExtrudedCurve(GEdge *ge) ...@@ -67,7 +67,8 @@ int MeshExtrudedCurve(GEdge *ge)
Msg::Error("Unknown source curve %d for extrusion", ep->geo.Source); Msg::Error("Unknown source curve %d for extrusion", ep->geo.Source);
return 0; return 0;
} }
else if(from->meshStatistics.status != GEdge::DONE){ else if(from->geomType() != GEntity::DiscreteCurve &&
from->meshStatistics.status != GEdge::DONE){
// cannot mesh this edge yet: will do it later // cannot mesh this edge yet: will do it later
return 1; return 1;
} }
......
...@@ -231,8 +231,10 @@ int MeshExtrudedSurface(GFace *gf, ...@@ -231,8 +231,10 @@ int MeshExtrudedSurface(GFace *gf,
Msg::Error("Unknown source surface %d for extrusion", ep->geo.Source); Msg::Error("Unknown source surface %d for extrusion", ep->geo.Source);
return 0; return 0;
} }
else if(from->meshStatistics.status != GFace::DONE){ else if(from->geomType() != GEntity::DiscreteSurface &&
// cannot mesh this face yet: will do it later from->meshStatistics.status != GFace::DONE){
// cannot mesh the face yet (the source face is not meshed):
// will do it later
return 1; return 1;
} }
copyMesh(from, gf, pos); copyMesh(from, gf, pos);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment