diff --git a/Geo/discreteFace.cpp b/Geo/discreteFace.cpp
index 665b6ba103da83061c56d8aaf2b4d9d7ec0c7d97..5958aef6b33c5b0abf12806011298e474ffd7930 100644
--- a/Geo/discreteFace.cpp
+++ b/Geo/discreteFace.cpp
@@ -192,15 +192,15 @@ void discreteFace::createGeometry()
   triangulation* init = new triangulation(-1, tem,this);
   init->iter = iter++;
   allEdg2Tri = init->ed2tri;
-  
+
   toSplit.push(init);
   if((toSplit.top())->genus()!=0 ||
      (toSplit.top())->aspectRatio() > eta ||
      (toSplit.top())->seamPoint){
-    
+
     while( !toSplit.empty()){
       std::vector<triangulation*> part;
-      triangulation* tosplit = toSplit.top();      
+      triangulation* tosplit = toSplit.top();
       toSplit.pop();
 
       double ts0 = Cpu();
@@ -231,11 +231,11 @@ void discreteFace::createGeometry()
   FILE* debug = Fopen("tralala-init.pos","w");
   fprintf(debug,"View \"discreteEdges\"{\n");
   for(unsigned int j=0; j<toParam.size(); j++){
-    
+
     std::list<GEdge*> ge = toParam[j]->my_GEdges;
     for(std::list<GEdge*>::iterator it = ge.begin(); it!=ge.end(); ++it){
       if((*it)->tag()==112 ){
-	
+
 	std::vector<MLine*> ml = (*it)->lines;
 	printf("___(init) map %d, ge %d___ (%p)\n",j+1,(*it)->tag(),(*it));
 	for(unsigned int i=0; i<ml.size(); i++){
@@ -243,15 +243,15 @@ void discreteFace::createGeometry()
 	  printf("%d[%d;%d]--",ml[i]->getNum(),ml[i]->getVertex(0)->getNum(),ml[i]->getVertex(1)->getNum());
 	}
 	printf("\n");
-	
-      }	
-	
+
+      }
+
     }
   }
   fprintf(debug,"};");
   fclose(debug);
   */
-  
+
   for(unsigned int i=0; i<toParam.size(); i++){
 
     fillHoles(toParam[i]);
@@ -259,7 +259,7 @@ void discreteFace::createGeometry()
     //toParam[i]->print(name, toParam[i]->idNum);
   }
 
-  
+
   for(unsigned int i=0; i<toParam.size(); i++){
     discreteDiskFace *df = new discreteDiskFace (this,toParam[i], order,(_CAD.empty() ? NULL : &_CAD));
     df->printAtlasMesh();
@@ -320,10 +320,9 @@ void discreteFace::gatherMeshes()
 
 void discreteFace::mesh(bool verbose)
 {
-
-
+#if defined(HAVE_ANN) && defined(HAVE_SOLVER) && defined(HAVE_MESH)
   for(unsigned int j=0; j<_atlas.size(); j++){
-    
+
     std::list<GEdge*> ge = _atlas[j]->edges();
     for(std::list<GEdge*>::iterator it = ge.begin(); it!=ge.end(); ++it){
 
@@ -339,17 +338,12 @@ void discreteFace::mesh(bool verbose)
 	//printf("%d[%d;%d]--",ml[i]->getNum(),ml[i]->getVertex(0)->getNum(),ml[i]->getVertex(1)->getNum());
       }
       //printf("\n");
-	
+
       fprintf(debug,"};");
       fclose(debug);
     }
   }
-  
-  
 
-
-  
-#if defined(HAVE_ANN) && defined(HAVE_SOLVER) && defined(HAVE_MESH)
   if (!CTX::instance()->meshDiscrete) return;
 
   //Msg::Info("Discrete Face %d is going to be meshed",tag());
@@ -494,7 +488,7 @@ void discreteFace::splitDiscreteEdge(GEdge *de , GVertex *gv, discreteEdge* newE
   newE[0] = new discreteEdge (de->model(),mytag,de->getBeginVertex(),gv);
   mytag++;
   newE[1] = new discreteEdge (de->model(),mytag,gv, de->getEndVertex());
-  
+
   int current = 0;
   std::vector<MLine*> mlines;
   // assumption: the MLine's are sorted
@@ -852,7 +846,7 @@ void discreteFace::complex_crossField()
   Msg::Error("Petsc is required (we do need complex in discreteFace::crossField())");
   return;
 #endif
-  
+
   std::complex<double> i1(0,1);
   dofManager<std::complex<double> > myAssembler(lsys);
 
@@ -869,7 +863,7 @@ void discreteFace::complex_crossField()
 	mini = iTri[0] < iTri[1] ? iTri[0] : iTri[1];
       else
 	myAssembler.fixDof(3*mini+j,0,std::complex<double>(1)); // #tocheck
-      
+
       int num,s;
       triangles[mini]->getEdgeInfo(ed,num,s);
       myAssembler.numberDof(3*mini+num,0);
@@ -922,7 +916,7 @@ void discreteFace::complex_crossField()
     fprintf(myfile,"VT(");
     MTriangle* tri = triangles[i];
     MEdge ed = tri->getEdge(0);
-    
+
     MVertex *v0, *v1, *v2;
 
     v0 = tri->getVertex(0);
@@ -938,7 +932,7 @@ void discreteFace::complex_crossField()
     SVector3 e(v1->x()-v0->x(),v1->y()-v0->y(),v1->z()-v0->z());
     e.normalize();
     SVector3 d = crossprod(n,e); d.normalize();
-   
+
     std::vector<double> U; U.resize(3);
     std::vector<double> V; V.resize(3);
     for(int j=0; j<3; j++){
@@ -948,10 +942,10 @@ void discreteFace::complex_crossField()
       std::complex<double> fstar; // edge basis
       myAssembler.getDofValue(ed2key[ed],0,fstar); // conjugate dof in the local edge basis
       double alpha = getAlpha(tri,j); // triangle basis
-      std::complex<double> F(std::exp(4.*i1*alpha)); 
+      std::complex<double> F(std::exp(4.*i1*alpha));
       F *= std::conj(fstar); // dof of the local tri basis
       U[j] = std::real(F);
-      V[j] = std::imag(F);      
+      V[j] = std::imag(F);
     }
     fprintf(myfile,")");
     std::vector<double> Fu, Fv;
@@ -1113,7 +1107,7 @@ void discreteFace::crossField()
       SVector3 cf(cos(theta)*e.x()+sin(theta)*d.x(),cos(theta)*e.y()+sin(theta)*d.y(),cos(theta)*e.z()+sin(theta)*d.z());
       //cf = cf*sqrt(u*u+v*v);
       fprintf(myfile,"%f,%f,%f",cf.x(),cf.y(),cf.z());//cos(theta)*e.x()-sin(theta)*e.y(),sin(theta)*e.x()+cos(theta)*e.y(),e.z());
-      
+
       if( std::abs(dot(cf,n)) > 1e-12)
 	printf("/!\\ ---> warning orthogonality \t %f \n",dot(cf,n));
       if (j<2) fprintf(myfile,",");