diff --git a/Common/AdaptiveViews.cpp b/Common/AdaptiveViews.cpp
index 1ffca99b8a2ffc848d3b0d5d17ed3142072d0ddb..c4378cf7c602de6d65471888e04e891d5b8043dc 100644
--- a/Common/AdaptiveViews.cpp
+++ b/Common/AdaptiveViews.cpp
@@ -91,9 +91,9 @@ void adapt_quad::Create(int maxlevel, Double_Matrix * coeffs,
   int level = 0;
   cleanElement < adapt_quad > ();
   adapt_point *p1 = adapt_point::New(-1, -1, 0, coeffs, eexps);
-  adapt_point *p2 = adapt_point::New(-1, 1, 0, coeffs, eexps);
+  adapt_point *p2 = adapt_point::New(1, -1, 0, coeffs, eexps);
   adapt_point *p3 = adapt_point::New(1, 1, 0, coeffs, eexps);
-  adapt_point *p4 = adapt_point::New(1, -1, 0, coeffs, eexps);
+  adapt_point *p4 = adapt_point::New(-1, 1, 0, coeffs, eexps);
   adapt_quad *q = new adapt_quad(p1, p2, p3, p4);
   Recur_Create(q, maxlevel, level, coeffs, eexps);
 }
@@ -171,22 +171,19 @@ void adapt_triangle::Recur_Create(adapt_triangle * t, int maxlevel, int level,
   adapt_point *p1 = t->p[0];
   adapt_point *p2 = t->p[1];
   adapt_point *p3 = t->p[2];
-  adapt_point *p12 =
-    adapt_point::New((p1->x + p2->x) * 0.5, (p1->y + p2->y) * 0.5, 0, coeffs,
-                     eexps);
-  adapt_point *p13 =
-    adapt_point::New((p1->x + p3->x) * 0.5, (p1->y + p3->y) * 0.5, 0, coeffs,
-                     eexps);
-  adapt_point *p23 =
-    adapt_point::New((p3->x + p2->x) * 0.5, (p3->y + p2->y) * 0.5, 0, coeffs,
-                     eexps);
-  adapt_triangle *t1 = new adapt_triangle(p1, p13, p12);
+  adapt_point *p12 = adapt_point::New((p1->x + p2->x) * 0.5, (p1->y + p2->y) * 0.5, 0, 
+				      coeffs, eexps);
+  adapt_point *p13 = adapt_point::New((p1->x + p3->x) * 0.5, (p1->y + p3->y) * 0.5, 0, 
+				      coeffs, eexps);
+  adapt_point *p23 = adapt_point::New((p3->x + p2->x) * 0.5, (p3->y + p2->y) * 0.5, 0, 
+				      coeffs, eexps);
+  adapt_triangle *t1 = new adapt_triangle(p1, p12, p13);
   Recur_Create(t1, maxlevel, level, coeffs, eexps);
-  adapt_triangle *t2 = new adapt_triangle(p12, p23, p2);
+  adapt_triangle *t2 = new adapt_triangle(p2, p23, p12);
   Recur_Create(t2, maxlevel, level, coeffs, eexps);
-  adapt_triangle *t3 = new adapt_triangle(p23, p13, p3);
+  adapt_triangle *t3 = new adapt_triangle(p3, p13, p23);
   Recur_Create(t3, maxlevel, level, coeffs, eexps);
-  adapt_triangle *t4 = new adapt_triangle(p12, p13, p23);
+  adapt_triangle *t4 = new adapt_triangle(p12, p23, p13);
   Recur_Create(t4, maxlevel, level, coeffs, eexps);
   t->e[0] = t1;
   t->e[1] = t2;
@@ -202,40 +199,35 @@ void adapt_quad::Recur_Create(adapt_quad * q, int maxlevel, int level,
     return;
 
   /*
-     p2   p23    p3
+     p4   p34    p3
 
-     p12  pc     p34
+     p14  pc     p23
 
-     p1    p14    p4
+     p1   p12    p2
    */
 
   adapt_point *p1 = q->p[0];
   adapt_point *p2 = q->p[1];
   adapt_point *p3 = q->p[2];
   adapt_point *p4 = q->p[3];
-  adapt_point *p12 =
-    adapt_point::New((p1->x + p2->x) * 0.5, (p1->y + p2->y) * 0.5, 0, coeffs,
-                     eexps);
-  adapt_point *p23 =
-    adapt_point::New((p2->x + p3->x) * 0.5, (p2->y + p3->y) * 0.5, 0, coeffs,
-                     eexps);
-  adapt_point *p34 =
-    adapt_point::New((p4->x + p3->x) * 0.5, (p4->y + p3->y) * 0.5, 0, coeffs,
-                     eexps);
-  adapt_point *p14 =
-    adapt_point::New((p1->x + p4->x) * 0.5, (p1->y + p4->y) * 0.5, 0, coeffs,
-                     eexps);
-  adapt_point *pc =
-    adapt_point::New((p1->x + p2->x + p3->x + p4->x) * 0.25,
-                     (p1->y + p2->y + p3->y + p4->y) * 0.25, 0, coeffs,
-                     eexps);
+  adapt_point *p12 = adapt_point::New((p1->x + p2->x) * 0.5, (p1->y + p2->y) * 0.5, 0,
+				      coeffs, eexps);
+  adapt_point *p23 = adapt_point::New((p2->x + p3->x) * 0.5, (p2->y + p3->y) * 0.5, 0,
+				      coeffs, eexps);
+  adapt_point *p34 = adapt_point::New((p3->x + p4->x) * 0.5, (p3->y + p4->y) * 0.5, 0,
+				      coeffs, eexps);
+  adapt_point *p14 = adapt_point::New((p1->x + p4->x) * 0.5, (p1->y + p4->y) * 0.5, 0, 
+				      coeffs, eexps);
+  adapt_point *pc = adapt_point::New((p1->x + p2->x + p3->x + p4->x) * 0.25,
+				     (p1->y + p2->y + p3->y + p4->y) * 0.25, 0, 
+				     coeffs, eexps);
   adapt_quad *q1 = new adapt_quad(p1, p12, pc, p14);
   Recur_Create(q1, maxlevel, level, coeffs, eexps);
-  adapt_quad *q2 = new adapt_quad(p12, p2, p23, pc);
+  adapt_quad *q2 = new adapt_quad(p2, p23, pc, p12);
   Recur_Create(q2, maxlevel, level, coeffs, eexps);
-  adapt_quad *q3 = new adapt_quad(pc, p23, p3, p34);
+  adapt_quad *q3 = new adapt_quad(p3, p34, pc, p23);
   Recur_Create(q3, maxlevel, level, coeffs, eexps);
-  adapt_quad *q4 = new adapt_quad(p14, pc, p34, p4);
+  adapt_quad *q4 = new adapt_quad(p4, p14, pc, p34);
   Recur_Create(q4, maxlevel, level, coeffs, eexps);
   q->e[0] = q1;
   q->e[1] = q2;
@@ -254,24 +246,18 @@ void adapt_tet::Recur_Create(adapt_tet * t, int maxlevel, int level,
   adapt_point *p1 = t->p[1];
   adapt_point *p2 = t->p[2];
   adapt_point *p3 = t->p[3];
-  adapt_point *pe0 =
-    adapt_point::New((p0->x + p1->x) * 0.5, (p0->y + p1->y) * 0.5,
-                     (p0->z + p1->z) * 0.5, coeffs, eexps);
-  adapt_point *pe1 =
-    adapt_point::New((p0->x + p2->x) * 0.5, (p0->y + p2->y) * 0.5,
-                     (p0->z + p2->z) * 0.5, coeffs, eexps);
-  adapt_point *pe2 =
-    adapt_point::New((p0->x + p3->x) * 0.5, (p0->y + p3->y) * 0.5,
-                     (p0->z + p3->z) * 0.5, coeffs, eexps);
-  adapt_point *pe3 =
-    adapt_point::New((p1->x + p2->x) * 0.5, (p1->y + p2->y) * 0.5,
-                     (p1->z + p2->z) * 0.5, coeffs, eexps);
-  adapt_point *pe4 =
-    adapt_point::New((p1->x + p3->x) * 0.5, (p1->y + p3->y) * 0.5,
-                     (p1->z + p3->z) * 0.5, coeffs, eexps);
-  adapt_point *pe5 =
-    adapt_point::New((p2->x + p3->x) * 0.5, (p2->y + p3->y) * 0.5,
-                     (p2->z + p3->z) * 0.5, coeffs, eexps);
+  adapt_point *pe0 =  adapt_point::New((p0->x + p1->x) * 0.5, (p0->y + p1->y) * 0.5,
+				       (p0->z + p1->z) * 0.5, coeffs, eexps);
+  adapt_point *pe1 =  adapt_point::New((p0->x + p2->x) * 0.5, (p0->y + p2->y) * 0.5,
+				       (p0->z + p2->z) * 0.5, coeffs, eexps);
+  adapt_point *pe2 =  adapt_point::New((p0->x + p3->x) * 0.5, (p0->y + p3->y) * 0.5,
+				       (p0->z + p3->z) * 0.5, coeffs, eexps);
+  adapt_point *pe3 =  adapt_point::New((p1->x + p2->x) * 0.5, (p1->y + p2->y) * 0.5,
+				       (p1->z + p2->z) * 0.5, coeffs, eexps);
+  adapt_point *pe4 =  adapt_point::New((p1->x + p3->x) * 0.5, (p1->y + p3->y) * 0.5,
+				       (p1->z + p3->z) * 0.5, coeffs, eexps);
+  adapt_point *pe5 =  adapt_point::New((p2->x + p3->x) * 0.5, (p2->y + p3->y) * 0.5,
+				       (p2->z + p3->z) * 0.5, coeffs, eexps);
 
   adapt_tet *t1 = new adapt_tet(p0, pe0, pe2, pe1);
   Recur_Create(t1, maxlevel, level, coeffs, eexps);
@@ -316,71 +302,49 @@ void adapt_hex::Recur_Create(adapt_hex * h, int maxlevel, int level,
   adapt_point *p5 = h->p[5];
   adapt_point *p6 = h->p[6];
   adapt_point *p7 = h->p[7];
-  adapt_point *p01 =
-    adapt_point::New((p0->x + p1->x) * 0.5, (p0->y + p1->y) * 0.5,
-                     (p0->z + p1->z) * 0.5, coeffs, eexps);
-  adapt_point *p12 =
-    adapt_point::New((p1->x + p2->x) * 0.5, (p1->y + p2->y) * 0.5,
-                     (p1->z + p2->z) * 0.5, coeffs, eexps);
-  adapt_point *p23 =
-    adapt_point::New((p2->x + p3->x) * 0.5, (p2->y + p3->y) * 0.5,
-                     (p2->z + p3->z) * 0.5, coeffs, eexps);
-  adapt_point *p03 =
-    adapt_point::New((p3->x + p0->x) * 0.5, (p3->y + p0->y) * 0.5,
-                     (p3->z + p0->z) * 0.5, coeffs, eexps);
-  adapt_point *p45 =
-    adapt_point::New((p4->x + p5->x) * 0.5, (p4->y + p5->y) * 0.5,
-                     (p4->z + p5->z) * 0.5, coeffs, eexps);
-  adapt_point *p56 =
-    adapt_point::New((p5->x + p6->x) * 0.5, (p5->y + p6->y) * 0.5,
-                     (p5->z + p6->z) * 0.5, coeffs, eexps);
-  adapt_point *p67 =
-    adapt_point::New((p6->x + p7->x) * 0.5, (p6->y + p7->y) * 0.5,
-                     (p6->z + p7->z) * 0.5, coeffs, eexps);
-  adapt_point *p47 =
-    adapt_point::New((p7->x + p4->x) * 0.5, (p7->y + p4->y) * 0.5,
-                     (p7->z + p4->z) * 0.5, coeffs, eexps);
-  adapt_point *p04 =
-    adapt_point::New((p4->x + p0->x) * 0.5, (p4->y + p0->y) * 0.5,
-                     (p4->z + p0->z) * 0.5, coeffs, eexps);
-  adapt_point *p15 =
-    adapt_point::New((p5->x + p1->x) * 0.5, (p5->y + p1->y) * 0.5,
-                     (p5->z + p1->z) * 0.5, coeffs, eexps);
-  adapt_point *p26 =
-    adapt_point::New((p6->x + p2->x) * 0.5, (p6->y + p2->y) * 0.5,
-                     (p6->z + p2->z) * 0.5, coeffs, eexps);
-  adapt_point *p37 =
-    adapt_point::New((p7->x + p3->x) * 0.5, (p7->y + p3->y) * 0.5,
-                     (p7->z + p3->z) * 0.5, coeffs, eexps);
-
-  adapt_point *p0145 =
-    adapt_point::New((p45->x + p01->x) * 0.5, (p45->y + p01->y) * 0.5,
-                     (p45->z + p01->z) * 0.5, coeffs, eexps);
-  adapt_point *p1256 =
-    adapt_point::New((p12->x + p56->x) * 0.5, (p12->y + p56->y) * 0.5,
-                     (p12->z + p56->z) * 0.5, coeffs, eexps);
-  adapt_point *p2367 =
-    adapt_point::New((p23->x + p67->x) * 0.5, (p23->y + p67->y) * 0.5,
-                     (p23->z + p67->z) * 0.5, coeffs, eexps);
-  adapt_point *p0347 =
-    adapt_point::New((p03->x + p47->x) * 0.5, (p03->y + p47->y) * 0.5,
-                     (p03->z + p47->z) * 0.5, coeffs, eexps);
-  adapt_point *p4756 =
-    adapt_point::New((p47->x + p56->x) * 0.5, (p47->y + p56->y) * 0.5,
-                     (p47->z + p56->z) * 0.5, coeffs, eexps);
-  adapt_point *p0312 =
-    adapt_point::New((p03->x + p12->x) * 0.5, (p03->y + p12->y) * 0.5,
-                     (p03->z + p12->z) * 0.5, coeffs, eexps);
-
-  adapt_point *pc =
-    adapt_point::
-    New((p0->x + p1->x + p2->x + p3->x + p4->x + p5->x + p6->x +
-         p7->x) * 0.125,
-        (p0->y + p1->y + p2->y + p3->y + p4->y + p5->y + p6->y +
-         p7->y) * 0.125,
-        (p0->z + p1->z + p2->z + p3->z + p4->z + p5->z + p6->z +
-         p7->z) * 0.125,
-        coeffs, eexps);
+  adapt_point *p01 = adapt_point::New((p0->x + p1->x) * 0.5, (p0->y + p1->y) * 0.5,
+				      (p0->z + p1->z) * 0.5, coeffs, eexps);
+  adapt_point *p12 = adapt_point::New((p1->x + p2->x) * 0.5, (p1->y + p2->y) * 0.5,
+				      (p1->z + p2->z) * 0.5, coeffs, eexps);
+  adapt_point *p23 = adapt_point::New((p2->x + p3->x) * 0.5, (p2->y + p3->y) * 0.5,
+				      (p2->z + p3->z) * 0.5, coeffs, eexps);
+  adapt_point *p03 = adapt_point::New((p3->x + p0->x) * 0.5, (p3->y + p0->y) * 0.5,
+				      (p3->z + p0->z) * 0.5, coeffs, eexps);
+  adapt_point *p45 = adapt_point::New((p4->x + p5->x) * 0.5, (p4->y + p5->y) * 0.5,
+				      (p4->z + p5->z) * 0.5, coeffs, eexps);
+  adapt_point *p56 = adapt_point::New((p5->x + p6->x) * 0.5, (p5->y + p6->y) * 0.5,
+				      (p5->z + p6->z) * 0.5, coeffs, eexps);
+  adapt_point *p67 = adapt_point::New((p6->x + p7->x) * 0.5, (p6->y + p7->y) * 0.5,
+				      (p6->z + p7->z) * 0.5, coeffs, eexps);
+  adapt_point *p47 = adapt_point::New((p7->x + p4->x) * 0.5, (p7->y + p4->y) * 0.5,
+				      (p7->z + p4->z) * 0.5, coeffs, eexps);
+  adapt_point *p04 = adapt_point::New((p4->x + p0->x) * 0.5, (p4->y + p0->y) * 0.5,
+				      (p4->z + p0->z) * 0.5, coeffs, eexps);
+  adapt_point *p15 = adapt_point::New((p5->x + p1->x) * 0.5, (p5->y + p1->y) * 0.5,
+				      (p5->z + p1->z) * 0.5, coeffs, eexps);
+  adapt_point *p26 = adapt_point::New((p6->x + p2->x) * 0.5, (p6->y + p2->y) * 0.5,
+				      (p6->z + p2->z) * 0.5, coeffs, eexps);
+  adapt_point *p37 = adapt_point::New((p7->x + p3->x) * 0.5, (p7->y + p3->y) * 0.5,
+				      (p7->z + p3->z) * 0.5, coeffs, eexps);
+
+  adapt_point *p0145 = adapt_point::New((p45->x + p01->x) * 0.5, (p45->y + p01->y) * 0.5,
+					(p45->z + p01->z) * 0.5, coeffs, eexps);
+  adapt_point *p1256 = adapt_point::New((p12->x + p56->x) * 0.5, (p12->y + p56->y) * 0.5,
+					(p12->z + p56->z) * 0.5, coeffs, eexps);
+  adapt_point *p2367 = adapt_point::New((p23->x + p67->x) * 0.5, (p23->y + p67->y) * 0.5,
+					(p23->z + p67->z) * 0.5, coeffs, eexps);
+  adapt_point *p0347 = adapt_point::New((p03->x + p47->x) * 0.5, (p03->y + p47->y) * 0.5,
+					(p03->z + p47->z) * 0.5, coeffs, eexps);
+  adapt_point *p4756 = adapt_point::New((p47->x + p56->x) * 0.5, (p47->y + p56->y) * 0.5,
+					(p47->z + p56->z) * 0.5, coeffs, eexps);
+  adapt_point *p0312 = adapt_point::New((p03->x + p12->x) * 0.5, (p03->y + p12->y) * 0.5,
+					(p03->z + p12->z) * 0.5, coeffs, eexps);
+
+  adapt_point *pc = 
+    adapt_point::New((p0->x + p1->x + p2->x + p3->x + p4->x + p5->x + p6->x + p7->x) * 0.125,
+		     (p0->y + p1->y + p2->y + p3->y + p4->y + p5->y + p6->y + p7->y) * 0.125,
+		     (p0->z + p1->z + p2->z + p3->z + p4->z + p5->z + p6->z + p7->z) * 0.125,
+		     coeffs, eexps);
 
   adapt_hex *h1 = new adapt_hex(p0, p01, p0312, p03, p04, p0145, pc, p0347);    //p0
   Recur_Create(h1, maxlevel, level, coeffs, eexps);
@@ -734,72 +698,63 @@ int Adaptive_Post_View::zoomElement(Post_View * view,
 {
   const int nbNod = ELEM::nbNod;
 
-  typename std::set < adapt_point >::iterator it =
-    adapt_point::all_points.begin();
-  typename std::set < adapt_point >::iterator ite =
-    adapt_point::all_points.end();
+  typename std::set < adapt_point >::iterator it = adapt_point::all_points.begin();
+  typename std::set < adapt_point >::iterator ite = adapt_point::all_points.end();
 
   double c0 = Cpu();
 
-
   const int N = _coefs->size1();
-  Double_Vector val ( N ), res(adapt_point::all_points.size());
-  Double_Vector valx ( N ), valy(N), valz(N), resx(adapt_point::all_points.size()), resy(adapt_point::all_points.size()), resz(adapt_point::all_points.size());
-  Double_Matrix xyz (nbNod,3);
-  Double_Matrix XYZ (adapt_point::all_points.size(),3);
-
-  for ( int k=0;k<nbNod;++k)
-    {
-      xyz(k,0) = (*_STposX) ( ielem , k );
-      xyz(k,1) = (*_STposY) ( ielem , k );
-      xyz(k,2) = (*_STposZ) ( ielem , k );
-    }
-
-  for ( int k=0;k<N;++k)
-    {
-      val(k) = (*_STval )( ielem , k );
-    }	        
+  Double_Vector val(N), res(adapt_point::all_points.size());
+  Double_Vector valx(N), resx(adapt_point::all_points.size());
+  Double_Vector valy(N), resy(adapt_point::all_points.size());
+  Double_Vector valz(N), resz(adapt_point::all_points.size());
+  Double_Matrix xyz(nbNod,3);
+  Double_Matrix XYZ(adapt_point::all_points.size(),3);
+
+  for(int k = 0; k < nbNod; ++k){
+    xyz(k, 0) = (*_STposX)(ielem, k);
+    xyz(k, 1) = (*_STposY)(ielem, k);
+    xyz(k, 2) = (*_STposZ)(ielem, k);
+  }
 
+  for (int k = 0; k < N; ++k){
+    val(k) = (*_STval)(ielem, k);
+  }
 
   _Interpolate->mult(val,res);
 
-  if (_STvalX)
-    {
-      for ( int k=0;k<N;++k)
-	{
-	  valx(k) = (*_STvalX )( ielem , k );
-	  valy(k) = (*_STvalY )( ielem , k );
-	  valz(k) = (*_STvalZ )( ielem , k );
-	}	        
-      _Interpolate->mult(valx,resx);
-      _Interpolate->mult(valy,resy);
-      _Interpolate->mult(valz,resz);
-    }
+  if(_STvalX){
+    for(int k = 0; k < N; ++k){
+      valx(k) = (*_STvalX)(ielem, k);
+      valy(k) = (*_STvalY)(ielem, k);
+      valz(k) = (*_STvalZ)(ielem, k);
+    }	        
+    _Interpolate->mult(valx, resx);
+    _Interpolate->mult(valy, resy);
+    _Interpolate->mult(valz, resz);
+  }
 
-  _Geometry->mult(xyz,XYZ);
+  _Geometry->mult(xyz, XYZ);
 
   double c1 = Cpu();
 
-  int kk=0;
-  for ( ; it !=ite ; ++it)
-    {
-      adapt_point *p = (adapt_point*) &(*it);
-      p->val = res(kk);
-      if (_STvalX)
-	{
-	   p->valx = resx(kk);
-	   p->valy = resy(kk);
-	   p->valz = resz(kk);
-	}
-      p->val = res(kk);
-
-      p->X = XYZ(kk,0);
-      p->Y = XYZ(kk,1);
-      p->Z = XYZ(kk,2);
-      if (min > p->val) min = p->val;
-      if (max < p->val) max = p->val;
-      kk++;
+  int kk = 0;
+  for (; it !=ite; ++it){
+    adapt_point *p = (adapt_point*) &(*it);
+    p->val = res(kk);
+    if (_STvalX){
+      p->valx = resx(kk);
+      p->valy = resy(kk);
+      p->valz = resz(kk);
     }
+    p->val = res(kk);
+    p->X = XYZ(kk, 0);
+    p->Y = XYZ(kk, 1);
+    p->Z = XYZ(kk, 2);
+    if (min > p->val) min = p->val;
+    if (max < p->val) max = p->val;
+    kk++;
+  }
   double c2 = Cpu();
 
   typename std::list < ELEM * >::iterator itt = ELEM::all_elems.begin();
@@ -809,52 +764,44 @@ int Adaptive_Post_View::zoomElement(Post_View * view,
     (*itt)->visible = false;
   }
 
-
   if(!plug || tol != 0.0) {
     ELEM::Error(max - min, tol);
   }
+
   if(plug)
     plug->assign_specific_visibility();
 
-
   double c3 = Cpu();
   itt = ELEM::all_elems.begin();
 
-
   for(; itt != itte; itt++) {
     if((*itt)->visible && !(*itt)->e[0] && level != levelmax)
       return 0;
   }
 
-
   itt = ELEM::all_elems.begin();
   adapt_point **p;
 
-  for ( ;itt != itte ; itt++)
-    {
-      if ((*itt)->visible)
-	{
-	  p = (*itt)->p;
-	  for (int k=0;k<nbNod;++k)List_Add ( theList , &p[k]->X );
-	  for (int k=0;k<nbNod;++k)List_Add ( theList , &p[k]->Y );
-	  for (int k=0;k<nbNod;++k)List_Add ( theList , &p[k]->Z );
-	  if (_STvalX)
-	    {
-	      for (int k=0;k<nbNod;++k)
-		{
-		  List_Add ( theList , &p[k]->valx );
-		  List_Add ( theList , &p[k]->valy );
-		  List_Add ( theList , &p[k]->valz );
-		}
-	    }
-	  else
-	    {
-	      for (int k=0;k<nbNod;++k)List_Add ( theList , &p[k]->val );
-	    }
-	  (*counter)++;
+  for(; itt != itte; itt++){
+    if((*itt)->visible){
+      p = (*itt)->p;
+      for(int k=0; k < nbNod; ++k) List_Add(theList, &p[k]->X);
+      for(int k=0; k < nbNod; ++k) List_Add(theList, &p[k]->Y);
+      for(int k=0; k < nbNod; ++k) List_Add(theList, &p[k]->Z);
+      if(_STvalX){
+	for(int k = 0; k < nbNod; ++k){
+	  List_Add(theList, &p[k]->valx);
+	  List_Add(theList, &p[k]->valy);
+	  List_Add(theList, &p[k]->valz);
 	}
+      }
+      else{
+	for (int k = 0; k < nbNod; ++k) List_Add(theList, &p[k]->val);
+      }
+      (*counter)++;
     }
-
+  }
+  
   double c4 = Cpu();
   
   t0 += c1 - c0;
@@ -863,7 +810,6 @@ int Adaptive_Post_View::zoomElement(Post_View * view,
   t3 += c4 - c3;
 
   return 1;
-
 }
 
 
@@ -942,25 +888,35 @@ void Adaptive_Post_View::setAdaptiveResolutionLevel(Post_View * view,
 
   t0 = t1 = t2 = t3 = 0;
   
-  while (1)
-    {
-      if(TYP == 7)
-	setAdaptiveResolutionLevel_TEMPL < adapt_edge > (view, level_act, level,
-							 plug, &(view->SL),
-							 &(view->NbSL), done);
-      if (TYP == 1)setAdaptiveResolutionLevel_TEMPL <adapt_triangle> ( view,level_act,level, plug,&(view->ST),&(view->NbST),done) ;
-      if (TYP == 5)setAdaptiveResolutionLevel_TEMPL <adapt_triangle> ( view,level_act,level, plug,&(view->VT),&(view->NbVT),done) ;
-      if (TYP == 2)setAdaptiveResolutionLevel_TEMPL <adapt_quad>     ( view,level_act,level, plug,&(view->SQ),&(view->NbSQ),done) ;
-      if (TYP == 6)setAdaptiveResolutionLevel_TEMPL <adapt_quad>     ( view,level_act,level, plug,&(view->VQ),&(view->NbVQ),done) ;
-      if (TYP == 4)setAdaptiveResolutionLevel_TEMPL <adapt_hex>      ( view,level_act,level, plug,&(view->SH),&(view->NbSH),done) ;
-      if (TYP == 3)setAdaptiveResolutionLevel_TEMPL <adapt_tet>      ( view,level_act,level, plug,&(view->SS),&(view->NbSS),done) ;
-      int nbDone = 0;
-      for (int i=0;i<_STposX->size1();++i)nbDone += done[i];
-      printf("adaptive %d %d %d %d\n",level, level_act, nbDone, _STposX->size1());
-      if (nbDone ==_STposX->size1())  break;
-      if (level_act >= level) break;
-      level_act ++;
-    }
+  while (1){
+    if(TYP == 7)
+      setAdaptiveResolutionLevel_TEMPL < adapt_edge > (view, level_act, level, plug, 
+						       &(view->SL), &(view->NbSL), done);
+    if (TYP == 1)
+      setAdaptiveResolutionLevel_TEMPL <adapt_triangle> (view, level_act, level, plug,
+							 &(view->ST), &(view->NbST), done);
+    if (TYP == 5)
+      setAdaptiveResolutionLevel_TEMPL <adapt_triangle> (view, level_act, level, plug,
+							 &(view->VT), &(view->NbVT), done);
+    if (TYP == 2)
+      setAdaptiveResolutionLevel_TEMPL <adapt_quad> (view, level_act, level, plug,
+						     &(view->SQ), &(view->NbSQ), done);
+    if (TYP == 6)
+      setAdaptiveResolutionLevel_TEMPL <adapt_quad> (view, level_act, level, plug,
+						     &(view->VQ), &(view->NbVQ), done);
+    if (TYP == 4)
+      setAdaptiveResolutionLevel_TEMPL <adapt_hex> (view, level_act, level, plug,
+						    &(view->SH), &(view->NbSH), done);
+    if (TYP == 3)
+      setAdaptiveResolutionLevel_TEMPL <adapt_tet> (view, level_act, level, plug,
+						    &(view->SS), &(view->NbSS), done);
+    int nbDone = 0;
+    for(int i=0; i < _STposX->size1(); ++i) nbDone += done[i];
+    printf("adaptive %d %d %d %d\n", level, level_act, nbDone, _STposX->size1());
+    if (nbDone ==_STposX->size1())  break;
+    if (level_act >= level) break;
+    level_act ++;
+  }
   view->Changed = 1;
   presentZoomLevel = level;
   presentTol = tol;
@@ -1042,50 +998,43 @@ void Adaptive_Post_View::initWithLowResolution(Post_View * view)
 
   int nbComp = 1;
 
-  if (view->NbST)
-    {
-      myList = view->ST;
-      nbelm = view->NbST;
-      nbnod = 3;
-    }
-  else if(view->NbSL) 
-    {
-      myList = view->SL;
-      nbelm = view->NbSL;
-      nbnod = 2;
-    }
-  else if (view->NbVT)
-    {
-      myList = view->VT;
-      nbelm = view->NbVT;
-      nbnod = 3;
-      nbComp = 3;
-    }
-  else if (view->NbVQ)
-    {
-      myList = view->VQ;
-      nbelm = view->NbVQ;
-      nbnod = 4;
-      nbComp = 3;
-    }
-  else if (view->NbSS)
-    {
-      myList = view->SS;
-      nbelm = view->NbSS;
-      nbnod = 4;
-    }
-  else if (view->NbSQ)
-    {
-      myList = view->SQ;
-      nbelm = view->NbSQ;
-      nbnod = 4;
-    }
-  else if (view->NbSH)
-    {
-      myList = view->SH;
-      nbelm = view->NbSH;
-      nbnod = 8;
-    }
+  if (view->NbST){
+    myList = view->ST;
+    nbelm = view->NbST;
+    nbnod = 3;
+  }
+  else if(view->NbSL){
+    myList = view->SL;
+    nbelm = view->NbSL;
+    nbnod = 2;
+  }
+  else if (view->NbVT){
+    myList = view->VT;
+    nbelm = view->NbVT;
+    nbnod = 3;
+    nbComp = 3;
+  }
+  else if (view->NbVQ){
+    myList = view->VQ;
+    nbelm = view->NbVQ;
+    nbnod = 4;
+    nbComp = 3;
+  }
+  else if (view->NbSS){
+    myList = view->SS;
+    nbelm = view->NbSS;
+    nbnod = 4;
+  }
+  else if (view->NbSQ){
+    myList = view->SQ;
+    nbelm = view->NbSQ;
+    nbnod = 4;
+  }
+  else if (view->NbSH){
+    myList = view->SH;
+    nbelm = view->NbSH;
+    nbnod = 8;
+  }
   else return;
 
   min = VAL_INF;
@@ -1098,49 +1047,45 @@ void Adaptive_Post_View::initWithLowResolution(Post_View * view)
   _STposZ = new Double_Matrix ( nbelm , nbnod        );
   _STval  = new Double_Matrix ( nbelm , (nb-3*nbnod)/nbComp   );
 
-  if (nbComp == 3)
-    {
-      _STvalX  = new Double_Matrix ( nbelm , (nb-3*nbnod)/nbComp   );
-      _STvalY  = new Double_Matrix ( nbelm , (nb-3*nbnod)/nbComp   );
-      _STvalZ  = new Double_Matrix ( nbelm , (nb-3*nbnod)/nbComp   );
-    }
+  if (nbComp == 3){
+    _STvalX  = new Double_Matrix ( nbelm , (nb-3*nbnod)/nbComp   );
+    _STvalY  = new Double_Matrix ( nbelm , (nb-3*nbnod)/nbComp   );
+    _STvalZ  = new Double_Matrix ( nbelm , (nb-3*nbnod)/nbComp   );
+  }
   /// Store non interpolated data
 
   int k=0;
-  for (int i=0;i<List_Nbr(myList);i+=nb)
-    {    
-      double *x = (double*)List_Pointer_Fast (myList,i);
-      double *y = (double*)List_Pointer_Fast (myList,i+nbnod); 
-      double *z = (double*)List_Pointer_Fast (myList,i+2*nbnod); 
-      for (int NN=0;NN<nbnod;NN++)
-	{
-	  (*_STposX) ( k , NN) = x[NN]; 
-	  (*_STposY) ( k , NN) = y[NN]; 
-	  (*_STposZ) ( k , NN) = z[NN]; 
-	}
-      double *val = (double*)List_Pointer_Fast (myList,i+3*nbnod);
-      if (nbComp == 1)
-	{
-	  for (int j=0;j<(nb-3*nbnod)/nbComp;j++){
-	    (*_STval)(k,j)=val[j];      
-	  }      	  
-	}
-      else if (nbComp == 3)
-	{
-	  int size = (nb-3*nbnod)/3;
-	  for (int j=0;j<size;j++){
-	    int index1  = j;
-	    int index2  = j+size;
-	    int index3  = j+2*size;
-	    // adaptation of the visualization mesh bases on the norm squared of the vector 
-	    (*_STval)(k,j)=(val[index1]*val[index1]+val[index2]*val[index2]+val[index3]*val[index3]);      
-	    (*_STvalX)(k,j)=val[index1];
-	    (*_STvalY)(k,j)=val[index2];
-	    (*_STvalZ)(k,j)=val[index3];
-	  }      	  	  
-	}
-      k++;
+  for (int i=0;i<List_Nbr(myList);i+=nb){    
+    double *x = (double*)List_Pointer_Fast (myList,i);
+    double *y = (double*)List_Pointer_Fast (myList,i+nbnod); 
+    double *z = (double*)List_Pointer_Fast (myList,i+2*nbnod); 
+    for (int NN=0;NN<nbnod;NN++){
+      (*_STposX) ( k , NN) = x[NN]; 
+      (*_STposY) ( k , NN) = y[NN]; 
+      (*_STposZ) ( k , NN) = z[NN]; 
+    }
+    double *val = (double*)List_Pointer_Fast (myList,i+3*nbnod);
+    if (nbComp == 1){
+      for (int j=0;j<(nb-3*nbnod)/nbComp;j++){
+	(*_STval)(k,j)=val[j];      
+      }      	  
     }
+    else if (nbComp == 3){
+      int size = (nb-3*nbnod)/3;
+      for (int j=0;j<size;j++){
+	int index1  = j;
+	int index2  = j+size;
+	int index3  = j+2*size;
+	// adaptation of the visualization mesh bases on the norm squared of the vector 
+	(*_STval)(k,j)=(val[index1]*val[index1] + val[index2]*val[index2] + 
+			val[index3]*val[index3]);      
+	(*_STvalX)(k,j)=val[index1];
+	(*_STvalY)(k,j)=val[index2];
+	(*_STvalZ)(k,j)=val[index3];
+      }      	  	  
+    }
+    k++;
+  }
   setAdaptiveResolutionLevel(view, 0);
 }
 
diff --git a/Common/AdaptiveViews.h b/Common/AdaptiveViews.h
index 29dee4923dde50f3291894a03050ef4df1c27e6d..7d74d1384a4f5e7ebdd8e1a999f9df8742458eb9 100644
--- a/Common/AdaptiveViews.h
+++ b/Common/AdaptiveViews.h
@@ -110,7 +110,7 @@ public:
   }
   inline static void GSF (const double u, const double v, double w, double sf[]) 
   {
-    sf[0] = 1-u-v;
+    sf[0] = 1. - u - v;
     sf[1] = u;
     sf[2] = v;
   }
@@ -149,10 +149,10 @@ public:
   }
   inline static void GSF (const double u, const double v, double w, double sf[]) 
   {
-    sf[0] = 0.25 * (1 - u) * (1 - v);
-    sf[1] = 0.25 * (1 + u) * (1 - v);
-    sf[2] = 0.25 * (1 + u) * (1 + v);
-    sf[3] = 0.25 * (1 - u) * (1 + v);
+    sf[0] = 0.25 * (1. - u) * (1. - v);
+    sf[1] = 0.25 * (1. + u) * (1. - v);
+    sf[2] = 0.25 * (1. + u) * (1. + v);
+    sf[3] = 0.25 * (1. - u) * (1. + v);
   }
   void print ()
   {
@@ -186,7 +186,7 @@ public:
   }
   inline static void GSF (const double u, const double v, double w, double sf[])
   {
-    sf[0] = 1-u-v-w;
+    sf[0] = 1. - u - v - w;
     sf[1] = u;
     sf[2] = v;
     sf[3] = w;
diff --git a/benchmarks/misc/adaptive_view_quads.pos.gz b/benchmarks/misc/adaptive_view_quads.pos.gz
new file mode 100644
index 0000000000000000000000000000000000000000..98682689c661a68c4ae0adc1f5cf8f81fdcfa9bd
Binary files /dev/null and b/benchmarks/misc/adaptive_view_quads.pos.gz differ
diff --git a/benchmarks/misc/polynomial_view.pos b/benchmarks/misc/polynomial_view.pos
deleted file mode 100644
index 17672689b12608d26363d66b76b2e08b441e426c..0000000000000000000000000000000000000000
--- a/benchmarks/misc/polynomial_view.pos
+++ /dev/null
@@ -1,18 +0,0 @@
-/********************************************************************* 
- *
- *  Gmsh tutorial on polynomial interpolation
- * 
- *  Scalar post-processing view
- *
- *********************************************************************/
-
-View "a scalar map" {
-ST (0,0,0,1,0,0,0,1,0){0,0,0,1,1,0};
-ST (1,0,0,1,1,0,0,1,0){1,0,0,0,1,0};
-INTERPOLATION_MATRIX { 	{1,-1,-1,0,0,0}, 
-	               	{1, 0, 0,0,0,0},
-			{0, 1, 0,0,0,0},
-			{0, 1, 0,-1,-1,0},
-			{0, 0, 1, 0,-1,-1},
-			{0, 0, 0, 0,1,0}};
-};