From f439516e052853c974b110f5dcbcbf7a0562c0a8 Mon Sep 17 00:00:00 2001
From: Jean-Francois Remacle <jean-francois.remacle@uclouvain.be>
Date: Tue, 29 Oct 2013 14:11:24 +0000
Subject: [PATCH] bug in smoothing

---
 Mesh/meshGFaceOptimize.cpp | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/Mesh/meshGFaceOptimize.cpp b/Mesh/meshGFaceOptimize.cpp
index 5be70a8490..3edbba7223 100644
--- a/Mesh/meshGFaceOptimize.cpp
+++ b/Mesh/meshGFaceOptimize.cpp
@@ -2305,14 +2305,16 @@ void _relocateVertex(GFace *gf, MVertex *ver,
   after *= (1.0/COUNT);
   double FACTOR = 1.0;
   const int MAXITER = 5;
+  SPoint2 actual = before;
   for (int ITER = 0;ITER < MAXITER; ITER ++){
     SPoint2 trial = after * FACTOR + before * (1.-FACTOR);
-    bool success = _isItAGoodIdeaToMoveThatVertex (gf,  lt, ver,before,trial);
+    bool success = _isItAGoodIdeaToMoveThatVertex (gf,  lt, ver,actual,trial);
     if (success){
-      ver->setParameter(0, trial.x());
-      ver->setParameter(1, trial.y());
       GPoint pt = gf->point(trial);
       if(pt.succeeded()){
+	actual = trial;
+	ver->setParameter(0, trial.x());
+	ver->setParameter(1, trial.y());
 	ver->x() = pt.x();
 	ver->y() = pt.y();
 	ver->z() = pt.z();
-- 
GitLab