From da4cf59247ec79d83da9149f9d2842bab86393d1 Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Wed, 4 Dec 2013 11:52:20 +0000 Subject: [PATCH] use linear interpol if failed to compute equidistant params --- Mesh/HighOrder.cpp | 6 ++++-- doc/VERSIONS.txt | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Mesh/HighOrder.cpp b/Mesh/HighOrder.cpp index b5f405bc9e..d24b905e6d 100644 --- a/Mesh/HighOrder.cpp +++ b/Mesh/HighOrder.cpp @@ -159,11 +159,13 @@ static void getEdgeVertices(GEdge *ge, MElement *ele, std::vector<MVertex*> &ve, if(relax < 1.e-2) break; } - if(relax < 1.e-2) + if(relax < 1.e-2){ Msg::Warning ("Failed to compute equidistant parameters (relax = %g, value = %g) " "for edge %d-%d parametrized with %g %g on GEdge %d linear %d", relax, US[1], v0->getNum(), v1->getNum(),u0,u1,ge->tag(), linear); + reparamOK = false; + } } else{ Msg::Error("Cannot reparam a mesh Vertex in high order meshing"); @@ -230,7 +232,7 @@ static void getEdgeVertices(GFace *gf, MElement *ele, std::vector<MVertex*> &ve, else { US[0] = p0[0]; VS[0] = p0[1]; - US[nPts+1] = p1[0]; + US[nPts+1] = p1[0]; VS[nPts+1] = p1[1]; for(int j = 0; j < nPts; j++){ const double t = (double)(j + 1) / (nPts + 1); diff --git a/doc/VERSIONS.txt b/doc/VERSIONS.txt index 875dbe30b0..6ae99457ea 100644 --- a/doc/VERSIONS.txt +++ b/doc/VERSIONS.txt @@ -1,4 +1,5 @@ -2.8.4 (): better reproductibility of 2D meshes; small improvements and bug +2.8.4 (): better reproductibility of 2D meshes; new mandatory 'Name' attribute +to define onelab variables in DefineConstant[] & co; small improvements and bug fixes. 2.8.3 (Sep 27, 2013): new quick access menu and multiple view selection in GUI; -- GitLab