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