diff --git a/Geo/GEdge.cpp b/Geo/GEdge.cpp index 41f7bb7cb2e3096b9f35b41e318102a73c699a45..3e49dfa02fc7ea8bc9f8112cfbd38dd6ed744928 100644 --- a/Geo/GEdge.cpp +++ b/Geo/GEdge.cpp @@ -1,4 +1,4 @@ -// $Id: GEdge.cpp,v 1.26 2007-05-04 08:56:17 remacle Exp $ +// $Id: GEdge.cpp,v 1.27 2007-05-07 11:40:02 remacle Exp $ // // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle // @@ -158,7 +158,6 @@ double GEdge::curvature(double par) const return norm(d); } -bool GEdge::is_mesh_degenereted() const -{ +bool GEdge::is_mesh_degenerated() const { return (v0==v1 && mesh_vertices.size()<2); } diff --git a/Geo/GEdge.h b/Geo/GEdge.h index 8d5df444da2a7620ea2029a2af390a8e41c929d6..6118dfdd276afe143af5d1fb36fec46aee3a1a9f 100644 --- a/Geo/GEdge.h +++ b/Geo/GEdge.h @@ -45,7 +45,7 @@ class GEdge : public GEntity { void addFace(GFace *f); void delFace(GFace *f); /* start==end and no more than 2 segments */ - bool is_mesh_degenereted() const; + bool is_mesh_degenerated() const; virtual int dim() const {return 1;} virtual bool periodic(int dim=0) const = 0; diff --git a/Mesh/meshGFace.cpp b/Mesh/meshGFace.cpp index c2ae292e8433eb26f38dbddd64e420682f5147e7..aa3fb16571286ef8003ae96bc59fb4dd4b8f316d 100644 --- a/Mesh/meshGFace.cpp +++ b/Mesh/meshGFace.cpp @@ -1,4 +1,4 @@ -// $Id: meshGFace.cpp,v 1.77 2007-05-05 08:15:55 geuzaine Exp $ +// $Id: meshGFace.cpp,v 1.78 2007-05-07 11:40:02 remacle Exp $ // // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle // @@ -626,10 +626,11 @@ bool gmsh2DMeshGenerator ( GFace *gf , bool debug = true) while(it != edges.end()) { if ((*it)->isSeam(gf))return false; - - all_vertices.insert ( (*it)->mesh_vertices.begin() , (*it)->mesh_vertices.end() ); - all_vertices.insert ( (*it)->getBeginVertex()->mesh_vertices.begin() , (*it)->getBeginVertex()->mesh_vertices.end() ); - all_vertices.insert ( (*it)->getEndVertex()->mesh_vertices.begin() , (*it)->getEndVertex()->mesh_vertices.end() ); + if(!(*it)->is_mesh_degenerated()){ + all_vertices.insert ( (*it)->mesh_vertices.begin() , (*it)->mesh_vertices.end() ); + all_vertices.insert ( (*it)->getBeginVertex()->mesh_vertices.begin() , (*it)->getBeginVertex()->mesh_vertices.end() ); + all_vertices.insert ( (*it)->getEndVertex()->mesh_vertices.begin() , (*it)->getEndVertex()->mesh_vertices.end() ); + } ++it; } @@ -814,11 +815,13 @@ bool gmsh2DMeshGenerator ( GFace *gf , bool debug = true) it = edges.begin(); while(it != edges.end()) { + if(!(*it)->is_mesh_degenerated()){ if (!recover_medge ( m, *it)) { Msg(GERROR,"Face not meshed"); return false; } + } ++it; } // Msg(INFO,"Boundary Edges recovered for surface %d",gf->tag());