Index: /issm/trunk/src/c/Bamgx/Mesh2.h
===================================================================
--- /issm/trunk/src/c/Bamgx/Mesh2.h	(revision 2855)
+++ /issm/trunk/src/c/Bamgx/Mesh2.h	(revision 2856)
@@ -500,13 +500,13 @@
  IntersectionTriangles & operator[](int i) {return lIntTria[i];}
  operator int&() {return Size;}
- ListofIntersectionTriangles(int n=256,int m=16)
-   :   MaxSize(n), Size(0), len(-1),state(-1),lIntTria(new IntersectionTriangles[n]) ,
-    NbSeg(0), MaxNbSeg(m), lSegsI(new SegInterpolation[m])  
-  {
-	  long int verbosity=0;
-
-	  if (verbosity>9) 
-    std::cout << "      construct ListofIntersectionTriangles"
-			  << MaxSize << " " <<  MaxNbSeg<< std::endl;};
+
+ListofIntersectionTriangles(int n=256,int m=16)
+:   MaxSize(n), Size(0), len(-1),state(-1),lIntTria(new IntersectionTriangles[n]) ,
+	NbSeg(0), MaxNbSeg(m), lSegsI(new SegInterpolation[m])  
+{
+	long int verbosity=0;
+	if (verbosity>9) printf("   construct ListofIntersectionTriangles %i %i\n",MaxSize,MaxNbSeg);
+};
+
   ~ListofIntersectionTriangles(){
     if (lIntTria) delete [] lIntTria,lIntTria=0;
@@ -555,8 +555,5 @@
       nw[i] = lIntTria[i];       
     long int verbosity=0;
-	if(verbosity>3)
-      std::cout << " ListofIntersectionTriangles  ReShape MaxSize " 
-	   << MaxSize << " -> " 
-	 <<  newsize << std::endl;
+	if(verbosity>3) printf("   ListofIntersectionTriangles  ReShape Maxsize %i -> %i\n",MaxSize,MaxNbSeg);
     MaxSize = newsize; 
     delete [] lIntTria;// remove old
@@ -603,11 +600,8 @@
   VertexOnGeom(): mv(0),abscisse(0){gv=0;} 
   VertexOnGeom(Vertex & m,GeometricalVertex &g) : mv(&m),abscisse(-1){gv=&g;}
-   //  std::cout << "        mv = " <<mv << " gv = "  << gv << std::endl;} 
   VertexOnGeom(Vertex & m,GeometricalEdge &g,Real8 s) : mv(&m),abscisse(s){ge=&g;}
-    //std::cout << &g << " "  << ge << std::endl; 
   operator Vertex * () const  {return mv;}
   operator GeometricalVertex * () const  {return gv;}
   operator GeometricalEdge * () const  {return ge;}
-//  operator Real8 & () {return abscisse;}
   operator const Real8 & () const {return abscisse;}
   int IsRequiredVertex(){ return this? (( abscisse<0 ? (gv?gv->Required():0):0 )) : 0;}
Index: /issm/trunk/src/c/Bamgx/QuadTree.h
===================================================================
--- /issm/trunk/src/c/Bamgx/QuadTree.h	(revision 2855)
+++ /issm/trunk/src/c/Bamgx/QuadTree.h	(revision 2856)
@@ -34,6 +34,5 @@
     StorageQuadTreeBox *n; // next StorageQuadTreeBox
     StorageQuadTreeBox(long ,StorageQuadTreeBox * =0);
-    ~StorageQuadTreeBox()
-    { //cout <<  "~StorageQuadTreeBox " << this << " n " << n << " b " << b << endl;
+    ~StorageQuadTreeBox() {
       if(n) delete n;
       delete [] b;
Index: /issm/trunk/src/c/Bamgx/SetOfE4.h
===================================================================
--- /issm/trunk/src/c/Bamgx/SetOfE4.h	(revision 2855)
+++ /issm/trunk/src/c/Bamgx/SetOfE4.h	(revision 2856)
@@ -1,30 +1,2 @@
-// -*- Mode : c++ -*-
-//
-// SUMMARY  :      
-// USAGE    :        
-// ORG      : 
-// AUTHOR   : Frederic Hecht
-// E-MAIL   : hecht@ann.jussieu.fr
-//
-
-/*
- 
- This file is part of Freefem++
- 
- Freefem++ is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published by
- the Free Software Foundation; either version 2.1 of the License, or
- (at your option) any later version.
- 
- Freefem++  is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU Lesser General Public License for more details.
- 
- You should have received a copy of the GNU Lesser General Public License
- along with Freefem++; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- */
-
 #ifndef _SetOfEdge4_h
 #define _SetOfEdge4_h
@@ -47,5 +19,5 @@
 public:
   SetOfEdges4(Int4 ,Int4);// nb Edges mx , nb de sommet 
-  ~SetOfEdges4() {// cout << " delete SetofArete " << endl ;
+  ~SetOfEdges4() {
   delete [] tete; delete [] Edges;}
    Int4 add (Int4 ii,Int4 jj);
@@ -54,5 +26,4 @@
   Int4 find (Int4 ii,Int4 jj);
   Int4 findtrie (Int4 ii,Int4 jj) {return ii <=jj ? find (ii,jj)  : find (jj,ii) ;}
-  // inline void close();
   Int4 i(Int4 k){return Edges[k].i;}
   Int4 j(Int4 k){return Edges[k].j;}
Index: /issm/trunk/src/c/Bamgx/objects/GeometricalEdge.cpp
===================================================================
--- /issm/trunk/src/c/Bamgx/objects/GeometricalEdge.cpp	(revision 2855)
+++ /issm/trunk/src/c/Bamgx/objects/GeometricalEdge.cpp	(revision 2856)
@@ -112,6 +112,4 @@
 			 cta = (1-theta)*(1-theta)*theta;
 			 ctb = (theta-1)*theta*theta ;
-			 //  if(ref==4 || ref==5)
-			 //  cout << " FFF " << tg[0] << tg[1] << A << B << " => " << A*ca + B*cb + tg[0]* cta + tg[1] * ctb << endl;
 			}
 		 else { // 1-t*t, t-t*t, t*t
Index: /issm/trunk/src/c/Bamgx/objects/Geometry.cpp
===================================================================
--- /issm/trunk/src/c/Bamgx/objects/Geometry.cpp	(revision 2855)
+++ /issm/trunk/src/c/Bamgx/objects/Geometry.cpp	(revision 2856)
@@ -54,6 +54,4 @@
 			throw ErrorException(__FUNCT__,exprintf("NbRef>0"));
 		}
-		if(verbosity>9)
-		 cout << "DELETE      ~Geometry "<< this  << endl;
 		if(vertices)  delete [] vertices;vertices=0;
 		if(edges)     delete [] edges;edges=0;
@@ -511,5 +509,4 @@
 		GeometricalEdge* on =start,* pon=0;
 		// walk with the cos on geometry
-		//  cout << P ;
 		int k=0;
 		while(pon != on){  
@@ -524,5 +521,4 @@
 			R2 AP = P-A;
 			R2 BP = P-B;
-			//   cout << "::  " << on - edges << " "  <<  AB*AP  << " " <<  AB*BP << " " << A << B << endl;
 			if ( (AB,AP) < 0) 
 			 on = on->Adj[0];
@@ -560,19 +556,12 @@
 		R2 V0 = v0,V1=v1,V01=V1-V0;
 		VertexOnGeom  vg0= *v0.on,  vg1=*v1.on;
-		if(NbTry) cout << "bug: s==== " << s << " e=" <<  V0 << " " << V1 << endl;
 
 		//    GeometricalEdge * eg0 = e.on,* eg1 = e.on, *eg=NULL;
 		GeometricalEdge * eg0=on, *eg1=on;
 		R2 Ag=(R2) (*on)[0],Bg=(R2)(*on)[1],AB=Bg-Ag; 
-		if(NbTry) cout <<" G edge= " << Ag << Bg << endl << " v edge" << V01 << " v geom " << AB  <<  (V01,AB) <<endl; 
 		int OppositeSens = (V01,AB) < 0;
 		int sens0=0,sens1=1;
 		if (OppositeSens)
 		 s=1-s,Exchange(vg0,vg1),Exchange(V0,V1);
-		if(NbTry) cout << "bug: edge = " << v0.r << " -> " << v1.r << endl 
-		 << "sg 0 = " << vg0 
-			<< " on = " << Number(on) << ":" << Ag << Bg << "; " 
-			<<  " sg 1= " << vg1 
-			<< "--------------------------------------------" << endl;
 		while (eg0 != (GeometricalEdge*) vg0  &&  (*eg0)(sens0) != (GeometricalVertex*) vg0){ 
 			if (bge<=0) {
@@ -589,7 +578,4 @@
 				goto retry;}
 				GeometricalEdge* tmpge = eg0;
-				if(NbTry)
-				 cout << "bug: --Edge @" <<  Number(tmpge)  << " = "<< Number(eg0) << ":" <<Number(eg0->Adj[0]) << "," <<  
-					Number(eg0->Adj[1]) <<"," ;
 				ge[--bge] =eg0 = eg0->Adj[sens0];
 				if (bge<0 || bge>mxe){
@@ -597,15 +583,8 @@
 				}
 				sens0 = 1-( sensge[bge] = tmpge->SensAdj[sens0]);
-				if(NbTry)
-				 cout << "bug: Edge "  <<  Number(eg0) << " "<< 1-sens0 <<  " S "
-					<< Number((*eg0)[1-sens0]) <<":" << Number(eg0->Adj[0]) << "," 
-					<<  Number(eg0->Adj[1]) <<"," << endl
-					<<Number(eg0)<< (*eg0)[sens0].r << "v = " << Number((*eg1)(sens0)) << " e = " << eg0 <<  endl;
 		  }
-		if(NbTry) cout << Number((GeometricalEdge*) vg1) << " " << Number((GeometricalVertex*) vg1) << endl;
-		while (eg1 != (GeometricalEdge*) vg1  &&  (*eg1)(sens1) != (GeometricalVertex*) vg1)
-		  { 
+		while (eg1 != (GeometricalEdge*) vg1  &&  (*eg1)(sens1) != (GeometricalVertex*) vg1) { 
 			if(tge>=mxe ) { 
-				cerr << " --Fatal Error: on the class triangles before call Geometry::ProjectOnCurve" << endl; 
+				printf("WARNING: on the class triangles before call Geometry::ProjectOnCurve is having issues (isn't it Eric?)\n");
 				NbTry++;
 				if (NbTry<2) goto retry;
@@ -619,7 +598,4 @@
 
 			GeometricalEdge* tmpge = eg1;
-			if(NbTry)
-			 cout << "++Edge @" << tmpge << " = " <<  Number(eg1) <<"%" << Number(eg1->Adj[0]) << "," 
-				<<  Number(eg1->Adj[1]) <<"," ;
 			ge[++tge] =eg1 = eg1->Adj[sens1];
 			sensge[tge]= sens1 = 1-tmpge->SensAdj[sens1];
@@ -627,11 +603,5 @@
 				throw ErrorException(__FUNCT__,exprintf("(tge<0 || tge>mxe)"));
 			}
-			if(NbTry)
-			 cout << "  Edge "  <<  Number(eg1) << " " << sens1 << " S "
-				<<Number((*eg1)[sens1]) <<"%"<< Number(eg1->Adj[0]) << "," <<  Number(eg1->Adj[1]) <<"," 
-				<<Number(eg1)<< (*eg1)[sens1].r << "v = " << Number((*eg1)(sens1)) << " e = " << Number(eg1) <<  endl;
 		  }
-
-		if(NbTry)    cout << endl;
 
 
@@ -643,18 +613,11 @@
 
 		Real8 sg;
-		//   cout << "           " << Number(on) << " " <<  Number(eg0) << " " <<  Number(eg1) << " "  ; 
 		if (eg0 == eg1) { 
 			register Real8 s0= vg0,s1=vg1;
 			sg =  s0 * (1.0-s) +  s * s1;
-			//    cout <<"                s0=" << s0 << " s1=" << s1 
-			//             << " s = " << s << " sens= " << OppositeSens << "\t\t sg = " << sg << endl ;
 			on=eg0;}
 		else {
 			R2 AA=V0,BB;
 			Real8 s0,s1;
-
-			//cout << endl << "s= " << s << Number(eg0) << " " << (Real8) vg0 << " " 
-			//	    << Number(eg1) << " " << (Real8) vg1 << V0 << V1 << "  Interpol = " 
-			// << V0*(1-s)+V1*s << ";;; " <<  endl;
 			int i=bge;
 			Real8 ll=0;
@@ -665,10 +628,6 @@
 				BB =  (*ge[i])[sensge[i]];
 				lge[i]=ll += Norme2(AA-BB);
-				//   cout << " ll " << i << BB << ll << " " <<sensge[i] <<" on = " <<
-				// Number(ge[i]) << " sens= " << sensge[i] ;
 				AA=BB ;}
 				lge[tge]=ll+=Norme2(AA-V1); 
-				// cout << " ll " << tge << " " << ll <<  sensge[tge] 
-				//	     <<" on = " << Number(ge[tge]) <<  " sens= " << sensge[tge] << endl;
 				// search the geometrical edge
 				if (s>1.0){
@@ -691,6 +650,4 @@
 
 					s=(ls-l0)/(l1-l0);
-					//  cout << "on =" << Number(on) << sens0 << sens1 <<  "s0  " << s0 << " s1 =" 
-					//	     << s1 << " l0 =" << l0 << " ls= " << ls << " l1= " << l1 << " s= " << s;
 					sg =  s0 * (1.0-s) +  s * s1;    
 		} 
@@ -699,7 +656,4 @@
 		}
 		V.r= on->F(sg);
-		//  if (eg0 != eg1) 
-		//        cout << "----- sg = "<< sg << " Sens =" << OppositeSens << " Edge = " 
-		//     << Number(on) <<"  V=" << V << endl;
 		GV=VertexOnGeom(V,*on,sg);
 		return on;
@@ -710,6 +664,4 @@
 		long int verbosity=0;
 
-		if (verbosity>20)
-		 cout << "Geometry::AfterRead()" <<  nbv << " " << nbe << endl;
 		Int4 i,k=0;        ;
 		int jj; // jj in [0,1]
@@ -771,9 +723,4 @@
 		}
 
-		if(verbosity>7) 
-		 for (i=0;i<nbv;i++)
-		  if (vertices[i].Required())
-			cout << "     The geo vertices  " << i << " is required" << endl;
-
 		for (i=0;i<nbv;i++) hv[i]=-1;// empty list
 
@@ -785,6 +732,4 @@
 			}
 			eangle[i] = atan2(v10.y,v10.x)  ; // angle in [ -Pi,Pi ]
-			if(verbosity>9) 
-			 cout << "     angle edge " << i <<" " << eangle[i]*180/Pi<< v10<<endl;
 			for (jj=0;jj<2;jj++)
 			  { // generation of list
@@ -826,32 +771,18 @@
 				float angle2= !j2 ? OppositeAngle(eangle[i2]) :  eangle[i2];
 				float da12 = Abs(angle2-angle1);
-				if(verbosity>9)
-				 cout <<"     check angle " << i << " " << i1 << " " << i2  << " " << 180*(da12)/Pi 
-					<< " " << 180*MaximalAngleOfCorner/Pi << vertices[i] << endl;
-
-				if (( da12 >= MaximalAngleOfCorner ) 
-							&& (da12 <= 2*Pi -MaximalAngleOfCorner)) {
+				if (( da12 >= MaximalAngleOfCorner ) && (da12 <= 2*Pi -MaximalAngleOfCorner)) {
 					vertices[i].SetCorner() ; 
-					if(verbosity>7)
-					 cout << "     The vertex " << i << " is a corner (angle) " 
-						<< 180*(da12)/ Pi<< " " << 180*MaximalAngleOfCorner/Pi << endl;}
-					// if the ref a changing then is     SetRequired();
-
-					if (edges[i1].flag != edges[i2].flag || edges[i1].Required()) 
-					  {
-						vertices[i].SetRequired();
-						if(verbosity>7)
-						 cout << "     The vertex " << i << " is Required the flag change (crack or equi, or require)" << endl;}
-
-						if (edges[i1].ref != edges[i2].ref) {
-							vertices[i].SetRequired();
-							if(verbosity>7)
-							 cout << "     The vertex " << i << " is Required ref" << endl;}
-			} ;
+				}
+				// if the ref a changing then is     SetRequired();
+				if (edges[i1].flag != edges[i2].flag || edges[i1].Required()){
+					vertices[i].SetRequired();
+				}
+				if (edges[i1].ref != edges[i2].ref) {
+					vertices[i].SetRequired();
+				}
+			}
 
 			if(ord != 2) {
 				vertices[i].SetCorner();
-				if(verbosity>7)
-				 cout << "     the vertex " << i << " is a corner ordre = " << ord << endl;
 			}
 			// close the liste around the vertex 
@@ -875,6 +806,4 @@
 			 edges[i1].Adj[j1] = edges + i;
 			 edges[i1].SensAdj[j1] = jj;
-			 if (verbosity>10)
-			  cout << " edges. Adj " << i1 << " " << j1 << " <--- " << i << " " << jj << endl;
 		 }
 
@@ -894,9 +823,4 @@
 						ltg =  Norme2(tg);
 						tg =  tg *(lAB/ltg),ltg=lAB;
-						/*
-							if(edges[i].ref >=4) 
-							cout << " tg " << tg.x << " "<< tg.y  << " " << edges[i].v[1-jj]->r << edges[i].Adj[jj]->v[1-edges[i].SensAdj[jj]]->r << " y-y = "
-							<< edges[i].v[1-jj]->r.y -edges[i].Adj[jj]->v[1-edges[i].SensAdj[jj]]->r.y <<  endl;
-							*/
 					}
 
@@ -908,5 +832,4 @@
 				if ( (tg,AB) < 0) 
 				 tg = -tg;
-				//if(edges[i].ref >=4) cout << " tg = " << tg << endl;
 				edges[i].tg[jj] = tg;
 			}     // for (jj=0;jj<2;jj++) 
@@ -915,9 +838,4 @@
 			if (ltg2[1]!=0) edges[i].SetTgB();
 		} // for (i=0;i<nbe;i++)
-
-		if(verbosity>7)
-		 for (i=0;i<nbv;i++)
-		  if (vertices[i].Required())
-			cout << "     The  geo  vertices " << i << " is required " << endl;
 
 		for (int step=0;step<2;step++)
@@ -959,10 +877,6 @@
 
 					  }// for(;;)
-					  if(verbosity>10 && curves==0) cout << NbOfCurves <<" curve :  nb edges=  "<< nee<<  endl; 
 					  NbOfCurves++;
 					  if(level) {
-						  if(verbosity>4)
-							cout << "    Warning: Curve "<< NbOfCurves << " without required vertex " 
-							  << "so the vertex " << Number(a) << " become required " <<endl;
 						  a->SetRequired();
 					  }
@@ -999,12 +913,4 @@
 		  }
 
-		if(verbosity>3)
-		 cout << "    End ReadGeometry: Number of curves in geometry is " << NbOfCurves <<endl; 
-		if(verbosity>4)
-		 for(int i=0;i<NbOfCurves ;i++)
-			{
-			 cout << " Curve " << i << " begin e=" << Number(curves[i].be) << " k=" << curves[i].kb 
-				<< "  end e= " << Number(curves[i].ee) << " k=" << curves[i].ke << endl;
-			}
 		delete []ev;
 		delete []hv;
Index: /issm/trunk/src/c/Bamgx/objects/MetricAnIso.cpp
===================================================================
--- /issm/trunk/src/c/Bamgx/objects/MetricAnIso.cpp	(revision 2855)
+++ /issm/trunk/src/c/Bamgx/objects/MetricAnIso.cpp	(revision 2856)
@@ -207,5 +207,5 @@
 			}
 			else 
-			 L[i]= l += s,S[i]=sss+=k,i++;//cout << i << " l = " << l << " sss = " << sss << endl;
+			 L[i]= l += s,S[i]=sss+=k,i++;
 		}
 		// warning for optimisation S is in [0:0.5] not in [0:1]
@@ -215,6 +215,5 @@
 		LastMetricInterpole.lab=l;
 		LastMetricInterpole.opt=i;
-		if (i>200 && kkk++<10)
-		 cout << "Warning LengthInterpole: ( i = " << i << " l = " << l << " sss " << sss << " ) " << sstop <<endl;
+		if (i>200 && kkk++<10) printf("WARNING: LengthInterpole: ( i=%i l=%i sss=%i ) %g\n",i,l,sss,sstop); 
 		return l;
 	}
@@ -243,5 +242,4 @@
 				 i=k; //  L[i]<l
 			  };
-			//   cout  << i << " " << j  <<" " << L[i] << " " << L[j] << " " << S[i] << " " <<  S[j]  << " l=" << l << endl;
 			if (i==j)
 			 r = 2*S[i];
Index: /issm/trunk/src/c/Bamgx/objects/QuadTree.cpp
===================================================================
--- /issm/trunk/src/c/Bamgx/objects/QuadTree.cpp	(revision 2855)
+++ /issm/trunk/src/c/Bamgx/objects/QuadTree.cpp	(revision 2856)
@@ -321,9 +321,5 @@
 						R2 XY(X,b->v[k]->r);
 						Real8 dd;
-						// old code	        if( Mx(XY) + b->v[k]->m(XY) < seuil )
-						if( (dd= LengthInterpole(Mx(XY), b->v[k]->m(XY)))  < seuil )
-						  {
-							//  cout <<  CurrentTh->Number(v) << "is To Close " 
-							// << CurrentTh->Number( b->v[k]) << " l=" <<dd<<endl;
+						if( (dd= LengthInterpole(Mx(XY), b->v[k]->m(XY)))  < seuil ){
 							return b->v[k]; 
 						  }
@@ -366,5 +362,4 @@
 		register long i=w.i.x, j=w.i.y,l=MaxISize;
 		pb = &root;
-		//    cout << pb << " " << &root << endl;
 		while( (b=*pb) && (b->n<0))
 		  { 
@@ -399,5 +394,4 @@
 				if (!bb) 
 				 bb=b->b[ij]=NewQuadTreeBox(); // alloc the QuadTreeBox 
-				//    cout << bb << " " << k << " "  << ij <<  endl;
 				bb->v[bb->n++] = v4[k];
 			  }
@@ -406,5 +400,4 @@
 		if (!(b = *pb))
 		 b=*pb= NewQuadTreeBox(); //  alloc the QuadTreeBox 
-		//   cout << b << " " << b->n << endl;
 		b->v[b->n++]=&w; // we add the vertex 
 		NbVertices++;    
Index: /issm/trunk/src/c/Bamgx/objects/Triangles.cpp
===================================================================
--- /issm/trunk/src/c/Bamgx/objects/Triangles.cpp	(revision 2855)
+++ /issm/trunk/src/c/Bamgx/objects/Triangles.cpp	(revision 2856)
@@ -79,10 +79,10 @@
 			  }
 		  k=0;
-		  for (i=0;i<Tho.nbv;i++)
-			if (kk[i]>=0) 
-			 kk[i]=k++;
-		  cout << " number of vertices " << k << " remove = " << Tho.nbv - k << endl;
-		  cout << " number of triangles " << kt << " remove = " << nbInT-kt << endl;
-		  cout << " number of New boundary edge " << nbNewBedge << endl;
+		  for (i=0;i<Tho.nbv;i++){
+			  if (kk[i]>=0) kk[i]=k++;
+			}
+		  printf("   number of vertices %i, remove = %i\n",k,Tho.nbv - k);
+		  printf("   number of triangles %i, remove = \n",kt,nbInT-kt);
+		  printf("   number of New boundary edge %i\n",nbNewBedge);
 		  Int4 inbvx =k;
 		  PreInit(inbvx,cname);
@@ -465,5 +465,5 @@
 		/*Recreate geometry if needed*/
 		if(1!=0) {
-			printf("Warning: mesh present but no geometry found. Reconstructing...\n");
+			printf("WARNING: mesh present but no geometry found. Reconstructing...\n");
 			/*Recreate geometry: */
 			ConsGeometry(bamgopts->MaximalAngleOfCorner*Pi/180);
@@ -767,9 +767,7 @@
 
 		Int4 nbeold = nbe;
-		for (i=0;i<nbe;i++)
-		  {
-			//      cout << i << " " << Number(edges[i][0]) << " " << Number(edges[i][1]) << endl;
+		for (i=0;i<nbe;i++){
 			edge4->addtrie(Number(edges[i][0]),Number(edges[i][1]));
-		  }
+		}
 		if (nbe !=  edge4->nb()){ 
 			throw ErrorException(__FUNCT__,exprintf("Some Double edge in the mesh, the number is %i, nbe4=%i",nbe,edge4->nb())); 
@@ -822,15 +820,9 @@
 				 j  =  (int) ((-2-st[i])%3);
 				 Triangle & tt = * triangles[it].TriangleAdj(j);
-				 //cout << it << " c="  << triangles[it].color <<  " " << Number(tt) << " c="  << tt.color << endl;
-				 if (triangles[it].color != tt.color|| i < nbeold) // Modif FH 06122055 // between 2 sub domai
-				  k++;
+				 if (triangles[it].color != tt.color|| i < nbeold) k++;
 			 }
 			 else if (st[i] >=0) // edge alone 
-			  // if (i >= nbeold) 
 			  kk++;
 
-			if(verbosity>4 && (k+kk) )
-			 cout << "    Nb of  ref edge " << kk+k << " (internal " << k << ")"
-				<< " in file " << nbe  << endl;
 			k += kk;
 			kk=0;
@@ -842,9 +834,7 @@
 				k =0;
 				// construction of the edges 
-				if(verbosity>4)
-				 cout << "    Construction of the edges  " << nbe << endl;
-
-				for (i=0;i<nbedges;i++)
-				  { 
+				if(verbosity>4) printf("   Construction of the edges %i\n",nbe);
+
+				for (i=0;i<nbedges;i++){ 
 					Int4  add= -1;
 
@@ -952,12 +942,8 @@
 						 else 
 						  level-=2;
-						if (verbosity>5) 
-						 cout << "   Nb of triangles " << k << " of Subdomain "  
-							<<  NbSubDomains << " " << kolor << endl;
 						NbSubDomains++;
 					  }
 				  }
-				if (verbosity> 3)
-				 cout << "   The Number of sub domain = " << NbSubDomains << endl;
+				if (verbosity> 3) printf("      The Number of sub domain = %i\n",NbSubDomains); 
 
 				Int4 isd;
@@ -1009,6 +995,5 @@
 			Gh.NbSubDomains = NbSubDomains;
 			Gh.subdomains = new GeometricalSubDomain[NbSubDomains];
-			if (verbosity>3)
-			 cout << "    Nb of  vertices  = " << Gh.nbv << " Nb of edges = " << Gh.nbe << endl;
+			if (verbosity>3) printf("   number of vertices = %i\n   number of edges = %i\n",Gh.nbv,Gh.nbe);
 			NbVerticesOnGeomVertex = Gh.nbv;
 			VerticesOnGeomVertex = new VertexOnGeom[NbVerticesOnGeomVertex];
@@ -1074,6 +1059,4 @@
 					int sens=equiedges[i]%2;
 					if(i!=j && equiedges[i]>=0) {
-						if(verbosity>9)  
-						 cout << " Edges Equi " << i << " <=> " << j << " sens = " << sens  << endl;
 						if( sens==0)
 						 Gh.edges[i].SetEqui();
@@ -1200,5 +1183,4 @@
 			e =  vB.onbe->be;
 
-			// cout << " EXCHANGE  A et B) " << endl;
 		  } 
 		else{ // do the search by walking 
@@ -1226,11 +1208,7 @@
 			Real8 te0;
 			// we suppose take the curve's abcisse 
-			// cout << kkk << " e = " << BTh.Number(e) << "  v0=  " 
-			//    << BTh.Number(v0) << " v1 = " << BTh.Number((*e)[sens]) << endl;
 			for ( eee=e,iii=sens,te0=tA;
 						eee && ((( void*) eee) != pB) && (( void*) (v1=&((*eee)[iii]))) != pB ;
 						neee = eee->adj[iii],iii = 1-neee->Intersection(*eee),eee = neee,v0=v1,te0=1-iii ) { 
-				//	cout << kkk << " eee = " << BTh.Number(eee) << "  v0=  " 
-				//     << BTh.Number(v0) << " v1 = " << BTh.Number(v1) << endl;
 
 				kkk=kkk+1;
@@ -1289,15 +1267,9 @@
 		long int verbosity=0;
 
-		if (verbosity>2) 
-		 cout << "  -- MakeQuadrangles costheta = " << costheta << endl;
-		if (verbosity>5)  
-		 cout << "    (in)  Nb of Quadrilaterals = " << NbOfQuad 
-			<< " Nb Of Triangles = " << nbt-NbOutT- NbOfQuad*2 
-			<< " Nb of outside triangles = " << NbOutT << endl;
+		if (verbosity>2) printf("MakeQuadrangles costheta = %g\n",costheta);
 
 		if (costheta >1) {
-			if (verbosity>5)
-			 cout << "     do nothing costheta >1 "<< endl;
-			return;}
+			if (verbosity>5) printf("   do nothing: costheta > 1\n");
+		}
 
 
@@ -1316,7 +1288,5 @@
 
 			Int4 kk=0;
-			for (ij=0;ij<k;ij++)
-			  { 
-				//      cout << qq[ij].q << " " << endl;
+			for (ij=0;ij<k;ij++) { 
 				i=qq[ij].i3j/3;
 				j=(int) (qq[ij].i3j%3);
@@ -1326,10 +1296,9 @@
 			  }
 			NbOfQuad = kk;
-			if (verbosity>2) 
-			  {
-				cout << "    (out)  Nb of Quadrilaterals = " << NbOfQuad 
-				  << " Nb Of Triangles = " << nbt-NbOutT- NbOfQuad*2 
-				  << " Nb of outside triangles = " << NbOutT << endl;
-			  }
+			if (verbosity>2){
+				printf("   number of quadrilaterals    = %i\n",NbOfQuad);
+				printf("   number of triangles         = %i\n",nbt-NbOutT- NbOfQuad*2);
+				printf("   number of outside triangles = %i\n",NbOutT);
+			}
 			delete [] qq;
 	}
@@ -1341,10 +1310,4 @@
 		Direction NoDirOfSearch;
 		const  int withBackground = &BTh != this && &BTh;
-		if (verbosity>2) 
-		 cout << "  -- SplitElement " << (choice? " Q->4Q and T->4T " : " Q->4Q or T->3Q " ) << endl;;
-		if (verbosity>5)
-		 cout << endl << "    (in)  Nb of Quadrilaterals = " << NbOfQuad 
-			<< " Nb Of Triangles = " << nbt-NbOutT- NbOfQuad*2 
-			<< " Nb of outside triangles = " << NbOutT << endl;
 
 		ReNumberingTheTriangleBySubDomain();
@@ -1417,5 +1380,4 @@
 			newedges[ie].adj[1]=newedges + ie +1;
 			R2 A = edges[i][0],B = edges[i][1];
-			// cout << " ie = " << ie <<"  v0 = " <<  Number(newedges[ie][0]) << endl;
 
 
@@ -1431,5 +1393,4 @@
 						throw ErrorException(__FUNCT__,exprintf("!edgesGtoB"));
 					}
-					// cout << " ie = " << ie <<"  v0 = " <<  Number(newedges[ie][0]) << endl;
 					ong= ProjectOnCurve(*edgesGtoB[Gh.Number(edges[i].on)],
 								edges[i][0],edges[i][1],0.5,vertices[k],
@@ -1446,5 +1407,4 @@
 					vertices[k].m =  Metric(1-s,bv0,s,bv1); 
 					kvb++;
-					// cout << " ie = " << ie <<"  v0 = " <<  Number(newedges[ie][0]) << endl;
 				  }
 				else 
@@ -1479,10 +1439,4 @@
 			newedges[ie].on =  Gh.Contening(BB,ong);
 			newedges[ie++].v[0]=vertices+k;
-			// cout << " ie = " << ie-2 << " vm " << k << " v0 = " <<  Number(newedges[ie-2][0])
-			//	   << " v1 = " << Number(newedges[ie-1][1])  
-			//	   << " ong =" << ong-Gh.edges 
-			//	   << " on 0 =" <<  newedges[ie-2].on -Gh.edges << AA
-			//	   << " on 1 =" <<  newedges[ie-1].on -Gh.edges << BB 
-			//	   << endl;
 			k++;
 		  }
@@ -1554,5 +1508,4 @@
 			ksplit[i]=1; // no split by default
 			const Triangle & t = triangles[ i];
-			// cout << " Triangle " << i << " " << t  << !!t.link << ":: " ;
 			int nbsplitedge =0;
 			int nbinvisible =0;
@@ -1569,9 +1522,7 @@
 				const Vertex & v0 = t[VerticesOfTriangularEdge[j][0]];
 				const Vertex & v1 = t[VerticesOfTriangularEdge[j][1]];
-				//  cout << " ke = " << kedge[3*i+j]  << " " << Number(v0) << " " << Number(v1) << "/ ";
 				if ( kedge[3*i+j] < 0) 
 				  {
 					Int4  ke =edge4->findtrie(Number(v0),Number(v1));
-					//  cout << ":" << ke << "," << !!t.link << " " <<  &tt ;
 					if (ke<0) // new 
 					  {
@@ -1611,5 +1562,4 @@
 				throw ErrorException(__FUNCT__,exprintf("nbinvisible>=2"));
 			}
-			// cout << " " <<  nbinvisible << " " <<  nbsplitedge << endl;
 			switch (nbsplitedge) {
 				case 0: ksplit[i]=10; newnbt++; break;   // nosplit
@@ -1628,14 +1578,9 @@
 		newNbOfQuad = 4*NbOfQuad;
 		nbv = k;
-		//  cout << " Nbv = " << nbv << endl;
 		kkk = nbt;
 		ksplit[-1] = nbt;
 		// look on  old true  triangles 
 
-		for (i=0;i<nbtsave;i++)
-		  {
-			//     cout << "Triangle " << i << " " << ksplit[i] << ":" << triangles[i]
-			//	   << "  ----------------------------------------------- " <<endl;
-			// Triangle * tc=0;
+		for (i=0;i<nbtsave;i++){
 			int  nbmkadj=0;
 			Int4 mkadj [100];
@@ -1727,9 +1672,4 @@
 							Vertex * v02 = vertices + kedge[3*i+k1]; 
 							Vertex * v01 = vertices + kedge[3*i+k2];
-							// cout << Number(t0(i0))  << " " << Number(t0(i1)) 
-							//     << " " <<  Number(t0(i2)) 
-							//     << " " <<  kedge[3*i+k0] 
-							//     << " " <<  kedge[3*i+k1] 
-							//     << " " <<  kedge[3*i+k2] << endl;
 							t0(i1) = v01;
 							t0(i2) = v02;
@@ -1790,6 +1730,4 @@
 			}
 
-			// cout << "  -- " << i << " " << nbmkadj << " " << kkk << " " << tc << endl;
-			//  t0.SetDetf();
 			// save all the new triangles
 			mkadj[nbmkadj++]=i;
@@ -1801,7 +1739,5 @@
 				 t0.link= triangles+jj;
 				 mkadj[nbmkadj++]=jj;
-				 // triangles[jj].SetDet();
 				}
-			// cout << "  -- " << i << " " << nbmkadj << endl;
 			if (nbmkadj>13){// 13 = 6 + 4 +
 				throw ErrorException(__FUNCT__,exprintf("nbmkadj>13"));
@@ -1809,22 +1745,11 @@
 
 			if (kk==6)  newNbOfQuad+=3;
-			//	 triangles[i].Draw();       
-
-			for (jj=ksplit[i-1];jj<kkk;jj++)
-			 // triangles[jj].SetDet();
-			 //	   triangles[jj].Draw();
-
-
-
-			 nbt = kkk;
+			for (jj=ksplit[i-1];jj<kkk;jj++) nbt = kkk;
 			ksplit[i]= nbt; // save last adresse of the new triangles
 			kkk = nbt;
-
 		  }
 
-		//  cout << " nv = " << nbv << " nbt = " << nbt << endl;
-		for (i=0;i<nbv;i++)
-		 vertices[i].m = vertices[i].m*2.;
-		//
+		for (i=0;i<nbv;i++) vertices[i].m = vertices[i].m*2.;
+
 		if(withBackground)
 		 for (i=0;i<BTh.nbv;i++)
@@ -1867,8 +1792,9 @@
 		FillHoleInMesh();
 
-		if (verbosity>2)
-		 cout << "    (out) Nb of Quadrilaterals = " << NbOfQuad 
-			<< " Nb Of Triangles = " << nbt-NbOutT- NbOfQuad*2 
-			<< " Nb of outside triangles = " << NbOutT << endl;
+		if (verbosity>2){
+			printf("   number of quadrilaterals    = %i\n",NbOfQuad);
+			printf("   number of triangles         = %i\n",nbt-NbOutT- NbOfQuad*2);
+			printf("   number of outside triangles = %i\n",NbOutT);
+		}
 
 		CurrentTh=OCurrentTh;
@@ -2139,5 +2065,4 @@
 				// swap if the point s is on a edge
 				if(izerodet>=0) {
-					//  cout << " the point s is on a edge =>swap " << iedge << " "  << *tt[izerodet] << endl;
 					int rswap =tt[izerodet]->swap(iedge);
 
@@ -2165,6 +2090,5 @@
 					  Vertex &v0 = t[VerticesOfTriangularEdge[j][0]];
 					  Vertex &v1 = t[VerticesOfTriangularEdge[j][1]];
-					  if (v0.on && v1.on)
-						 {
+					  if (v0.on && v1.on){
 						  R2 P= ((R2) v0 + (R2) v1)*0.5;
 						  if ( nbv<nbvx) {
@@ -2175,7 +2099,4 @@
 						  }
 						  NbSplitEdge++;
-						  if (verbosity>7)
-							cout <<" Internal edge with two vertices on boundary" 
-							  << Number(v0) << " " << Number(v1) << " by " <<  endl;
 						 }
 					 }
@@ -2191,10 +2112,8 @@
 				vi.i = toI2(vi.r);
 				vi.r = toR2(vi.i);
-				//      if (!quadtree->ToClose(vi,seuil,hi,hj)) {
+
 				// a good new point 
 				vi.ReferenceNumber=0; 
 				vi.DirOfSearch =NoDirOfSearch;
-				//	cout << " Add " << Number(vi) << " " << vi 
-				// << "   " <<  Number(vi) << " <--> " << Number(vi) <<endl;
 				Triangle *tcvi = FindTriangleContening(vi.i,dete);
 				if (tcvi && !tcvi->link) {
@@ -2231,6 +2150,5 @@
 
 		const Int4 nbvnew = nbv-nbvold;
-		if (verbosity>5) 
-		 cout << "    Try to Insert the " <<nbvnew<< " new points " << endl;  
+		if (verbosity>5) printf("      Try to Insert the %i new points\n",nbvnew);
 		Int4 NbSwap=0;
 		Icoor2 dete[3];
