diff --git a/Mesh/HighOrder.cpp b/Mesh/HighOrder.cpp index 050123290f09a85901f8bb2628ad4915b3be9c60..b9f3e0255aa74e45490a4e05ba39ecd3e5c5ccec 100644 --- a/Mesh/HighOrder.cpp +++ b/Mesh/HighOrder.cpp @@ -344,7 +344,11 @@ static void getFaceVertices(GFace *gf, MElement *incomplete, MElement *ele, } } else{ - v = new MVertex(X, Y, Z, gf); + GPoint gp = gf->closestPoint(SPoint3(X, Y, Z), GUESS); + if(gp.succeeded()) + v = new MVertex(gp.x(), gp.y(), gp.z(), gf); + else + v = new MVertex(X, Y, Z, gf); } } // should be expensive -> induces a new search each time