Index: /issm/trunk/src/c/modules/Bamgx/Bamgx.cpp
===================================================================
--- /issm/trunk/src/c/modules/Bamgx/Bamgx.cpp	(revision 5147)
+++ /issm/trunk/src/c/modules/Bamgx/Bamgx.cpp	(revision 5148)
@@ -184,9 +184,9 @@
 		//display info
 		if(verbosity>0) {
-			if (Th.nbt-Th.nbtout-Th.NbOfQuad*2){
-				printf("   new number of triangles = %i\n",(Th.nbt-Th.nbtout-Th.NbOfQuad*2));
-			}
-			if (Th.NbOfQuad ){
-				printf("   new number of quads = %i\n",Th.NbOfQuad);
+			if (Th.nbt-Th.nbtout-Th.nbq*2){
+				printf("   new number of triangles = %i\n",(Th.nbt-Th.nbtout-Th.nbq*2));
+			}
+			if (Th.nbq ){
+				printf("   new number of quads = %i\n",Th.nbq);
 			}
 		}
Index: /issm/trunk/src/c/objects/Bamg/AdjacentTriangle.cpp
===================================================================
--- /issm/trunk/src/c/objects/Bamg/AdjacentTriangle.cpp	(revision 5147)
+++ /issm/trunk/src/c/objects/Bamg/AdjacentTriangle.cpp	(revision 5148)
@@ -16,10 +16,10 @@
 	/*FUNCTION AdjacentTriangle::Locked {{{1*/
 	int  AdjacentTriangle::Locked() const {
-		return t->TriaAdjSharedEdge[a] & 4;
+		return t->AdjEdgeNumber[a] & 4;
 	}
 	/*}}}*/
 	/*FUNCTION AdjacentTriangle::MarkUnSwap {{{1*/
 	int  AdjacentTriangle::MarkUnSwap() const {
-		return t->TriaAdjSharedEdge[a] & 8;
+		return t->AdjEdgeNumber[a] & 8;
 	}
 	/*}}}*/
@@ -27,5 +27,5 @@
 	int  AdjacentTriangle::GetAllFlag_UnSwap() const {
 		// take all flag except MarkUnSwap
-		return t->TriaAdjSharedEdge[a] & 1012;
+		return t->AdjEdgeNumber[a] & 1012;
 	}
 	/*}}}*/
@@ -42,10 +42,10 @@
 	/*FUNCTION AdjacentTriangle::EdgeVertex {{{1*/
 	BamgVertex* AdjacentTriangle::EdgeVertex(const int & i) const {
-		return t->TriaVertices[VerticesOfTriangularEdge[a][i]];
+		return t->vertices[VerticesOfTriangularEdge[a][i]];
 	}
 	/*}}}*/
 	/*FUNCTION AdjacentTriangle::OppositeVertex {{{1*/
 	BamgVertex* AdjacentTriangle::OppositeVertex() const {
-		return t->TriaVertices[bamg::OppositeVertex[a]]; 
+		return t->vertices[bamg::OppositeVertex[a]]; 
 	}
 	/*}}}*/
@@ -64,10 +64,10 @@
 		//set Adjacent Triangle of a triangle
 		if(t) {
-			t->TriaAdjTriangles[a]=ta.t;
-			t->TriaAdjSharedEdge[a]=ta.a|l;
+			t->adj[a]=ta.t;
+			t->AdjEdgeNumber[a]=ta.a|l;
 		}
 		if(ta.t) {
-			ta.t->TriaAdjTriangles[ta.a] = t ;
-			ta.t->TriaAdjSharedEdge[ta.a] = a| l ;
+			ta.t->adj[ta.a] = t ;
+			ta.t->AdjEdgeNumber[ta.a] = a| l ;
 		}
 	}
Index: /issm/trunk/src/c/objects/Bamg/BamgVertex.h
===================================================================
--- /issm/trunk/src/c/objects/Bamg/BamgVertex.h	(revision 5147)
+++ /issm/trunk/src/c/objects/Bamg/BamgVertex.h	(revision 5148)
@@ -28,10 +28,10 @@
 
 			union {
-				Triangle     *t;                    // one triangle which is containing the vertex
+				Triangle     *t;                      // one triangle which is containing the vertex
 				long          color;
-				BamgVertex   *to;                   // used in geometry BamgVertex to know the Mesh BamgVertex associated
-				VertexOnGeom *onGeometry;           // if vint == 8; // set with Mesh::SetVertexFieldOn()
-				BamgVertex   *onBackgroundVertex;   // if vint == 16 on Background vertex Mesh::SetVertexFieldOnBTh()
-				VertexOnEdge *onBackgroundEdge;     // if vint == 32 on Background edge
+				BamgVertex   *to;                     // used in geometry BamgVertex to know the Mesh Vertex associated
+				VertexOnGeom *GeometricalEdgeHook;    // if vint == 8; // set with Mesh::SetVertexFieldOn()
+				BamgVertex   *BackgroundVertexHook;   // if vint == 16 on Background vertex Mesh::SetVertexFieldOnBTh()
+				VertexOnEdge *BackgroundEdgeHook;     // if vint == 32 on Background edge
 			};
 
@@ -46,5 +46,5 @@
 			void   MetricFromHessian(const double Hxx,const double Hyx, const double Hyy, const double smin,const double smax,const double s,const double err,BamgOpts* bamgopts);
 			void   Echo();
-			int    ref() const { return ReferenceNumber;}
+			int    GetReferenceNumber() const { return ReferenceNumber;}
 			long   Optim(int =1,int =0); 
 
Index: /issm/trunk/src/c/objects/Bamg/Direction.cpp
===================================================================
--- /issm/trunk/src/c/objects/Bamg/Direction.cpp	(revision 5147)
+++ /issm/trunk/src/c/objects/Bamg/Direction.cpp	(revision 5148)
@@ -23,6 +23,6 @@
 
 	/*Methods*/
-	/*FUNCTION Direction::sens{{{1*/
-	int Direction::sens(Icoor1 i,Icoor1 j) {
+	/*FUNCTION Direction::direction{{{1*/
+	int Direction::direction(Icoor1 i,Icoor1 j) {
 		int r =1; 
 		if (dir!= MaxICoor) {
Index: /issm/trunk/src/c/objects/Bamg/Direction.h
===================================================================
--- /issm/trunk/src/c/objects/Bamg/Direction.h	(revision 5147)
+++ /issm/trunk/src/c/objects/Bamg/Direction.h	(revision 5148)
@@ -15,5 +15,5 @@
 			Direction();
 			Direction(Icoor1 i,Icoor1 j);
-			int sens(Icoor1 i,Icoor1 j);
+			int direction(Icoor1 i,Icoor1 j);
 	};
 }
Index: /issm/trunk/src/c/objects/Bamg/Edge.cpp
===================================================================
--- /issm/trunk/src/c/objects/Bamg/Edge.cpp	(revision 5147)
+++ /issm/trunk/src/c/objects/Bamg/Edge.cpp	(revision 5148)
@@ -18,6 +18,6 @@
 		v[0] = ThNew.vertices + Th.Number(v[0]);    
 		v[1] = ThNew.vertices + Th.Number(v[1]);
-		if (onGeometry) 
-		 onGeometry =  ThNew.Gh.edges+Th.Gh.Number(onGeometry);
+		if (GeometricalEdgeHook) 
+		 GeometricalEdgeHook =  ThNew.Gh.edges+Th.Gh.Number(GeometricalEdgeHook);
 		if (adj[0]) adj[0] =   ThNew.edges +   Th.Number(adj[0]);
 		if (adj[1]) adj[1] =   ThNew.edges +   Th.Number(adj[1]);
@@ -28,6 +28,6 @@
 		printf("Edge:\n");
 		printf("   pointers towards two vertices: %p %p\n",v[0],v[1]);
-		printf("   ref = %i\n",ref);
-		printf("   onGeometry = %p\n",onGeometry);
+		printf("   ReferenceNumber = %i\n",ReferenceNumber);
+		printf("   GeometricalEdgeHook = %p\n",GeometricalEdgeHook);
 		printf("   two adjacent edges on the same curve: %p %p\n",adj[0],adj[1]);
 	}
Index: /issm/trunk/src/c/objects/Bamg/Edge.h
===================================================================
--- /issm/trunk/src/c/objects/Bamg/Edge.h	(revision 5147)
+++ /issm/trunk/src/c/objects/Bamg/Edge.h	(revision 5148)
@@ -17,6 +17,6 @@
 		public:
 			BamgVertex      *v[2];
-			long             ref;
-			GeometricalEdge *onGeometry;
+			long             ReferenceNumber;
+			GeometricalEdge *GeometricalEdgeHook;
 			Edge            *adj[2];       // the 2 adj edges if on the same curve
 
Index: /issm/trunk/src/c/objects/Bamg/GeometricalEdge.h
===================================================================
--- /issm/trunk/src/c/objects/Bamg/GeometricalEdge.h	(revision 5147)
+++ /issm/trunk/src/c/objects/Bamg/GeometricalEdge.h	(revision 5148)
@@ -14,5 +14,5 @@
 		public:
 			GeometricalVertex *v[2];
-			long               ref;
+			long               ReferenceNumber;
 			long               CurveNumber;
 			R2                 tg[2];         // the 2 tangentes (tg[0] =0 => no continuity)
@@ -29,10 +29,10 @@
 			R2     F(double theta) const ; // parametrization of the curve edge
 			double R1tg(double theta,R2 &t) const ; // 1/radius of curvature + tangente
-			int    Tg(int i) const{return i==0 ? TgA() : TgB();}
-			int    Cracked() const{return type & 1;}
-			int    TgA()const{return type & 4; }
-			int    TgB()const {return type & 8;}
-			int    Mark()const {return type & 16;}
-			int    Required() {return type & 64;}
+			int    Tg(int i) const  {return i==0 ? TgA() : TgB(); }
+			int    Cracked() const  {return type &1;  }
+			int    TgA()     const  {return type &4;  }
+			int    TgB()     const  {return type &8;  }
+			int    Mark()    const  {return type &16; }
+			int    Required()       {return type &64; }
 			void   SetCracked()     { type |= 1;}
 			void   SetTgA()         { type |=4; }
Index: /issm/trunk/src/c/objects/Bamg/GeometricalSubDomain.h
===================================================================
--- /issm/trunk/src/c/objects/Bamg/GeometricalSubDomain.h	(revision 5147)
+++ /issm/trunk/src/c/objects/Bamg/GeometricalSubDomain.h	(revision 5148)
@@ -13,6 +13,6 @@
 		public:
 			GeometricalEdge *edge;
-			int sens; // -1 or 1
-			long ref;
+			int              direction;   // -1 or 1
+			long             ReferenceNumber;
 
 			//Methods
Index: /issm/trunk/src/c/objects/Bamg/Geometry.cpp
===================================================================
--- /issm/trunk/src/c/objects/Bamg/Geometry.cpp	(revision 5147)
+++ /issm/trunk/src/c/objects/Bamg/Geometry.cpp	(revision 5148)
@@ -35,11 +35,11 @@
 		vertices = nbv ? new GeometricalVertex[nbv] : NULL;
 		edges = nbe ? new GeometricalEdge[nbe]:NULL;
-		curves= NbOfCurves ? new Curve[NbOfCurves]:NULL;
-		subdomains = NbSubDomains ? new GeometricalSubDomain[NbSubDomains]:NULL;
+		curves= nbcurves ? new Curve[nbcurves]:NULL;
+		subdomains = nbsubdomains ? new GeometricalSubDomain[nbsubdomains]:NULL;
 		for (i=0;i<nbe;i++)
 		 edges[i].Set(Gh.edges[i],Gh,*this);
-		for (i=0;i<NbOfCurves;i++)
+		for (i=0;i<nbcurves;i++)
 		 curves[i].Set(Gh.curves[i],Gh,*this);
-		for (i=0;i<NbSubDomains;i++)
+		for (i=0;i<nbsubdomains;i++)
 		 subdomains[i].Set(Gh.subdomains[i],Gh,*this);
 	}
@@ -51,7 +51,6 @@
 		if(vertices)  delete [] vertices;   vertices=0;
 		if(edges)     delete [] edges;      edges=0;
-		if(triangles) delete [] triangles;  triangles=0;
 		if(quadtree)  delete  quadtree;     quadtree=0;
-		if(curves)    delete  []curves;     curves=0;NbOfCurves=0;
+		if(curves)    delete  []curves;     curves=0;nbcurves=0;
 		if(subdomains) delete [] subdomains;subdomains=0;
 		Init();
@@ -66,5 +65,5 @@
 		nbv=0;
 		nbe=0;
-		NbOfCurves=0;
+		nbcurves=0;
 
 		double Hmin = HUGE_VAL;// the infinie value 
@@ -140,5 +139,5 @@
 				edges[i].v[0]= vertices + i1;     //pointer toward vertex i1 (=&vertices[i1])
 				edges[i].v[1]= vertices + i2;     //pointer toward vertex i2
-				edges[i].ref=(long)bamggeom->Edges[i*3+2];
+				edges[i].ReferenceNumber=(long)bamggeom->Edges[i*3+2];
 
 				//get length of edge
@@ -155,5 +154,5 @@
 
 				//Cracked?
-				if (edges[i].ref!=1) edges[i].SetCracked();
+				if (edges[i].ReferenceNumber!=1) edges[i].SetCracked();
 
 				//prepare metric
@@ -263,7 +262,7 @@
 			if(verbose>5) printf("      processing SubDomains\n");
 			if (bamggeom->SubDomainsSize[1]!=4) ISSMERROR("SubDomains should have 4 columns");
-			NbSubDomains=bamggeom->SubDomainsSize[0];
-			subdomains = new GeometricalSubDomain[NbSubDomains];
-			for (i=0;i<NbSubDomains;i++){
+			nbsubdomains=bamggeom->SubDomainsSize[0];
+			subdomains = new GeometricalSubDomain[nbsubdomains];
+			for (i=0;i<nbsubdomains;i++){
 				i0=(int)bamggeom->SubDomains[i*4+0];
 				i1=(int)bamggeom->SubDomains[i*4+1];
@@ -273,6 +272,6 @@
 				if (i1>nbe || i1<=0) ISSMERROR("Bad Subdomain definition: second number should in [1 %i] (edge number)",nbe);
 				subdomains[i].edge=edges + (i1-1);
-				subdomains[i].sens = (int) i2;
-				subdomains[i].ref = i3;
+				subdomains[i].direction = (int) i2;
+				subdomains[i].ReferenceNumber = i3;
 			}
 		}
@@ -304,5 +303,5 @@
 				bamggeom->Vertices[i*3+0]=vertices[i].r.x;
 				bamggeom->Vertices[i*3+1]=vertices[i].r.y;
-				bamggeom->Vertices[i*3+2]=vertices[i].ref();
+				bamggeom->Vertices[i*3+2]=vertices[i].GetReferenceNumber();
 
 				//update counters
@@ -320,5 +319,5 @@
 				bamggeom->Edges[i*3+0]=Number(edges[i][0])+1; //back to Matlab indexing
 				bamggeom->Edges[i*3+1]=Number(edges[i][1])+1; //back to Matlab indexing
-				bamggeom->Edges[i*3+2]=(double)edges[i].ref;
+				bamggeom->Edges[i*3+2]=(double)edges[i].ReferenceNumber;
 
 				//update counters
@@ -363,13 +362,13 @@
 		/*SubDomains*/
 		if(verbose>5) printf("      writing SubDomains\n");
-		bamggeom->SubDomainsSize[0]=NbSubDomains;
+		bamggeom->SubDomainsSize[0]=nbsubdomains;
 		bamggeom->SubDomainsSize[1]=4;
-		if (NbSubDomains){
-			bamggeom->SubDomains=(double*)xmalloc(4*NbSubDomains*sizeof(double));
-			for (i=0;i<NbSubDomains;i++){
+		if (nbsubdomains){
+			bamggeom->SubDomains=(double*)xmalloc(4*nbsubdomains*sizeof(double));
+			for (i=0;i<nbsubdomains;i++){
 				bamggeom->SubDomains[4*i+0]=2;
 				bamggeom->SubDomains[4*i+1]=Number(subdomains[i].edge)+1; //back to Matlab indexing
-				bamggeom->SubDomains[4*i+2]=subdomains[i].sens;
-				bamggeom->SubDomains[4*i+3]=subdomains[i].ref;
+				bamggeom->SubDomains[4*i+2]=subdomains[i].direction;
+				bamggeom->SubDomains[4*i+3]=subdomains[i].ReferenceNumber;
 			}
 		}
@@ -585,9 +584,9 @@
 					vertices[i].SetCorner() ; 
 				}
-				// if the ref a changing then is     SetRequired();
+				// if the ReferenceNumber a changing then is     SetRequired();
 				if (edges[i1].type != edges[i2].type || edges[i1].Required()){
 					vertices[i].SetRequired();
 				}
-				if (edges[i1].ref != edges[i2].ref) {
+				if (edges[i1].ReferenceNumber != edges[i2].ReferenceNumber) {
 					vertices[i].SetRequired();
 				}
@@ -661,5 +660,5 @@
 		for (int step=0;step<2;step++){
 			for (i=0;i<nbe;i++) edges[i].SetUnMark();
-			NbOfCurves = 0;
+			nbcurves = 0;
 			long  nbgem=0;
 			for (int level=0;level < 2 && nbgem != nbe;level++)
@@ -673,6 +672,6 @@
 						 GeometricalVertex *a=(*e)(k0); // begin 
 						 if(curves){
-							 curves[NbOfCurves].be=e;
-							 curves[NbOfCurves].kb=k0;
+							 curves[nbcurves].be=e;
+							 curves[nbcurves].kb=k0;
 						 }
 						 int nee=0;
@@ -682,8 +681,8 @@
 							 e->SetMark();
 							 nbgem++;
-							 e->CurveNumber=NbOfCurves;
+							 e->CurveNumber=nbcurves;
 							 if(curves) {
-								 curves[NbOfCurves].ee=e;
-								 curves[NbOfCurves].ke=k1;
+								 curves[nbcurves].ee=e;
+								 curves[nbcurves].ke=k1;
 							 }
 
@@ -693,5 +692,5 @@
 							 e = e->Adj[k1]; // next edge
 						 }
-						 NbOfCurves++;
+						 nbcurves++;
 						 if(level) a->SetRequired();
 					 }
@@ -700,8 +699,8 @@
 			ISSMASSERT(nbgem && nbe);
 			if(step==0){
-				curves = new Curve[NbOfCurves];
+				curves = new Curve[nbcurves];
 			}
 		} 
-		for(int i=0;i<NbOfCurves ;i++){
+		for(int i=0;i<nbcurves ;i++){
 			GeometricalEdge * be=curves[i].be, *eqbe=be;
 			//GeometricalEdge * ee=curves[i].ee, *eqee=be;
@@ -749,8 +748,7 @@
 		printf("   nbv  (number of vertices) : %i\n",nbv);
 		printf("   nbe  (number of edges)    : %i\n",nbe);
-		printf("   NbSubDomains: %i\n",NbSubDomains);
-		printf("   NbOfCurves: %i\n",NbOfCurves);
+		printf("   nbsubdomains: %i\n",nbsubdomains);
+		printf("   nbcurves: %i\n",nbcurves);
 		printf("   vertices: %p\n",vertices);
-		printf("   triangles: %p\n",triangles);
 		printf("   edges: %p\n",edges);
 		printf("   quadtree: %p\n",quadtree);
@@ -774,9 +772,8 @@
 		quadtree=0;
 		curves=0;
-		triangles=0;
 		edges=0;
 		vertices=0;
-		NbSubDomains=0;
-		NbOfCurves=0;
+		nbsubdomains=0;
+		nbcurves=0;
 		subdomains=0;
 		MaxCornerAngle = 10*Pi/180; //default is 10 degres
@@ -822,9 +819,9 @@
 
 		s=save_s;
-		GeometricalEdge* on=e.onGeometry;
+		GeometricalEdge* on=e.GeometricalEdgeHook;
 		if (!on){
 			ISSMERROR("ProjectOnCurve error message: edge provided should be on geometry");
 		}
-		if (!e[0].onGeometry ||  !e[1].onGeometry){
+		if (!e[0].GeometricalEdgeHook ||  !e[1].GeometricalEdgeHook){
 			ISSMERROR("ProjectOnCurve error message: at least one of the vertex of the edge provided is not on geometry");
 		}
@@ -838,5 +835,5 @@
 
 		//Get geometrical vertices corresponding to v0 and v1
-		VertexOnGeom  vg0=*v0.onGeometry,  vg1=*v1.onGeometry;
+		VertexOnGeom  vg0=*v0.GeometricalEdgeHook,  vg1=*v1.GeometricalEdgeHook;
 
 		//build two pointers towrad current geometrical edge
@@ -846,5 +843,5 @@
 		R2 Ag=(R2)(*on)[0],Bg=(R2)(*on)[1],AB=Bg-Ag; 
 		int OppositeSens = (V01,AB)<0;
-		int sens0=0,sens1=1;
+		int direction0=0,direction1=1;
 		if (OppositeSens) s=1-s,Exchange(vg0,vg1),Exchange(V0,V1);
 
@@ -854,14 +851,14 @@
 		const int mxe=100;
 		GeometricalEdge* ge[mxe+1];
-		int     sensge[mxe+1];
+		int     directionge[mxe+1];
 		double  lge[mxe+1];
 		int bge=mxe/2,tge=bge;
-		ge[bge] = e.onGeometry;
-		sensge[bge]=1;
-
-		while (eg0!=(GeometricalEdge*)vg0 && (*eg0)(sens0)!=(GeometricalVertex*)vg0){ 
+		ge[bge] = e.GeometricalEdgeHook;
+		directionge[bge]=1;
+
+		while (eg0!=(GeometricalEdge*)vg0 && (*eg0)(direction0)!=(GeometricalVertex*)vg0){ 
 			if (bge<=0) {
 				if(NbTry) {
-					printf("Fatal Error: on the class triangles before call Geometry::ProjectOnCurve\n");
+					printf("Fatal Error: on the class Mesh before call Geometry::ProjectOnCurve\n");
 					printf("That bug might come from:\n");
 					printf(" 1)  a mesh edge  containing more than %i geometrical edges\n",mxe/2);
@@ -874,14 +871,14 @@
 			}
 			GeometricalEdge* tmpge = eg0;
-			ge[--bge] =eg0 = eg0->Adj[sens0];
+			ge[--bge] =eg0 = eg0->Adj[direction0];
 			ISSMASSERT(bge>=0 && bge<=mxe);
-			sens0 = 1-( sensge[bge] = tmpge->DirAdj[sens0]);
-		}
-		while (eg1 != (GeometricalEdge*) vg1  &&  (*eg1)(sens1) != (GeometricalVertex*) vg1) { 
+			direction0 = 1-( directionge[bge] = tmpge->DirAdj[direction0]);
+		}
+		while (eg1 != (GeometricalEdge*) vg1  &&  (*eg1)(direction1) != (GeometricalVertex*) vg1) { 
 			if(tge>=mxe ) { 
-				printf("WARNING: on the class triangles before call Geometry::ProjectOnCurve is having issues (isn't it Eric?)\n");
+				printf("WARNING: on the class Mesh before call Geometry::ProjectOnCurve is having issues (isn't it Eric?)\n");
 				NbTry++;
 				if (NbTry<2) goto retry;
-				printf("Fatal Error: on the class triangles before call Geometry::ProjectOnCurve\n");
+				printf("Fatal Error: on the class Mesh before call Geometry::ProjectOnCurve\n");
 				printf("That bug might come from:\n");
 				printf(" 1)  a mesh edge  contening more than %i geometrical edges\n",mxe/2);
@@ -891,15 +888,15 @@
 			}
 			GeometricalEdge* tmpge = eg1;
-			ge[++tge] =eg1 = eg1->Adj[sens1];
-			sensge[tge]= sens1 = 1-tmpge->DirAdj[sens1];
+			ge[++tge] =eg1 = eg1->Adj[direction1];
+			directionge[tge]= direction1 = 1-tmpge->DirAdj[direction1];
 			ISSMASSERT(tge>=0 && tge<=mxe);
 		}
 
 
-		if ((*eg0)(sens0)==(GeometricalVertex*)vg0)
-		 vg0=VertexOnGeom(*(BamgVertex*) vg0,*eg0,sens0); //vg0 = absisce
-
-		if ((*eg1)(sens1)==(GeometricalVertex*)vg1)
-		 vg1=VertexOnGeom(*(BamgVertex*) vg1,*eg1,sens1);
+		if ((*eg0)(direction0)==(GeometricalVertex*)vg0)
+		 vg0=VertexOnGeom(*(BamgVertex*) vg0,*eg0,direction0); //vg0 = absisce
+
+		if ((*eg1)(direction1)==(GeometricalVertex*)vg1)
+		 vg1=VertexOnGeom(*(BamgVertex*) vg1,*eg1,direction1);
 
 		double sg;
@@ -916,5 +913,5 @@
 			for(i=bge;i<tge;i++){
 				ISSMASSERT(i>=0 && i<=mxe);
-				BB =  (*ge[i])[sensge[i]];
+				BB =  (*ge[i])[directionge[i]];
 				lge[i]=ll += Norme2(AA-BB);
 				AA=BB ;}
@@ -925,10 +922,10 @@
 				on =0;
 				s0 = vg0;
-				s1= sensge[bge];
+				s1= directionge[bge];
 				double l0=0,l1;
 				i=bge;
 				while (  (l1=lge[i]) < ls ) {
 					ISSMASSERT(i>=0 && i<=mxe);
-					i++,s0=1-(s1=sensge[i]),l0=l1;
+					i++,s0=1-(s1=directionge[i]),l0=l1;
 				}
 				on=ge[i];
Index: /issm/trunk/src/c/objects/Bamg/Geometry.h
===================================================================
--- /issm/trunk/src/c/objects/Bamg/Geometry.h	(revision 5147)
+++ /issm/trunk/src/c/objects/Bamg/Geometry.h	(revision 5148)
@@ -23,8 +23,7 @@
 			long                  nbv;                           // number of vertices
 			long                  nbe;                           // number of edges
-			long                  NbSubDomains;
-			long                  NbOfCurves;
+			long                  nbsubdomains;
+			long                  nbcurves;
 			GeometricalVertex    *vertices;
-			Triangle             *triangles;
 			GeometricalEdge      *edges;
 			QuadTree             *quadtree;
Index: /issm/trunk/src/c/objects/Bamg/Mesh.cpp
===================================================================
--- /issm/trunk/src/c/objects/Bamg/Mesh.cpp	(revision 5147)
+++ /issm/trunk/src/c/objects/Bamg/Mesh.cpp	(revision 5148)
@@ -106,5 +106,5 @@
 			  {
 				vertices[nbv] = Tho.vertices[i];
-				if (!vertices[nbv].ref())
+				if (!vertices[nbv].GetReferenceNumber())
 				 vertices[nbv].ReferenceNumber = refv[i];
 				nbv++;
@@ -127,5 +127,5 @@
 				}
 				triangles[nbt] = Triangle(this,kk[i0],kk[i1],kk[i2]);
-				triangles[nbt].color = Tho.subdomains[reft[i]].ref; 
+				triangles[nbt].color = Tho.subdomains[reft[i]].ReferenceNumber; 
 				nbt++;           
 			  }
@@ -145,6 +145,6 @@
 		  ReconstructExistingMesh();
 
-		  if (!NbSubDomains){
-			  ISSMERROR("NbSubDomains==0");
+		  if (!nbsubdomains){
+			  ISSMERROR("nbsubdomains==0");
 		  }
 		  if (!subdomains[0].head || !subdomains[0].head->link){
@@ -168,8 +168,7 @@
 		  nbt = Th.nbt;
 		  nbe = Th.nbe;
-		  NbSubDomains = Th.NbSubDomains;
+		  nbsubdomains = Th.nbsubdomains;
 		  nbtout = Th.nbtout;
-		  NbOfQuad =  Th.NbOfQuad ;
-		  NbOfSwapTriangle =0;
+		  nbq =  Th.nbq ;
 		  NbVerticesOnGeomVertex = Th.NbVerticesOnGeomVertex;
 		  if(NbVerticesOnGeomVertex)
@@ -198,6 +197,6 @@
 		  if(nbe)
 			edges = new Edge[nbe];
-		  if(NbSubDomains)
-			subdomains = new SubDomain[NbSubDomains];
+		  if(nbsubdomains)
+			subdomains = new SubDomain[nbsubdomains];
 		  pmin = Th.pmin;
 		  pmax = Th.pmax;
@@ -209,5 +208,5 @@
 		  for(i=0;i<nbv;i++)
 			vertices[i].Set(Th.vertices[i],Th,*this);
-		  for(i=0;i<NbSubDomains;i++)  
+		  for(i=0;i<nbsubdomains;i++)  
 			subdomains[i].Set(Th,i,*this);
 		  for (i=0;i<NbVerticesOnGeomVertex;i++)
@@ -424,5 +423,5 @@
 				i1=(int)bamgmesh->Edges[i*3+0]-1; //-1 for C indexing
 				i2=(int)bamgmesh->Edges[i*3+1]-1; //-1 for C indexing
-				edges[i].ref=(long)bamgmesh->Edges[i*3+2];
+				edges[i].ReferenceNumber=(long)bamgmesh->Edges[i*3+2];
 				edges[i].v[0]= vertices +i1;
 				edges[i].v[1]= vertices +i2;
@@ -484,5 +483,5 @@
 					ISSMERROR("ReadMesh error: EdgesOnGeometricEdge edge provided (line %i: [%i %i]) is incorrect (must be positive, [0<i<nbe=%i 0<j<Gh.nbe=%i]",i1+1,i+1,j+1,nbe,Gh.nbe);
 				}
-				edges[i].onGeometry=Gh.edges+j;
+				edges[i].GeometricalEdgeHook=Gh.edges+j;
 			}
 		}
@@ -500,12 +499,12 @@
 		//SubDomain
 		if(bamgmesh->SubDomains){
-			long i3,head,sens;
+			long i3,head,direction;
 			if(verbose>5) printf("      processing SubDomains\n");
-			NbSubDomains=bamgmesh->SubDomainsSize[0];
-			subdomains = new SubDomain [ NbSubDomains ];
-			for (i=0;i<NbSubDomains;i++) {
+			nbsubdomains=bamgmesh->SubDomainsSize[0];
+			subdomains = new SubDomain [ nbsubdomains ];
+			for (i=0;i<nbsubdomains;i++) {
 				i3  =(int)bamgmesh->SubDomains[i*3+0];
 				head=(int)bamgmesh->SubDomains[i*3+1]-1;//C indexing
-				sens=(int)bamgmesh->SubDomains[i*3+2];
+				direction=(int)bamgmesh->SubDomains[i*3+2];
 				if (i3!=23) ISSMERROR("Bad Subdomain definition: first number should be 3");
 				if (head<0 || head>=nbt) ISSMERROR("Bad Subdomain definition: head should in [1 %i] (triangle number)",nbt);
@@ -581,5 +580,5 @@
 				bamgmesh->Vertices[i*3+0]=vertices[i].r.x;
 				bamgmesh->Vertices[i*3+1]=vertices[i].r.y;
-				bamgmesh->Vertices[i*3+2]=vertices[i].ref();
+				bamgmesh->Vertices[i*3+2]=vertices[i].GetReferenceNumber();
 			}
 		}
@@ -595,6 +594,6 @@
 				bamgmesh->Edges[i*3+0]=Number(edges[i][0])+1; //back to M indexing
 				bamgmesh->Edges[i*3+1]=Number(edges[i][1])+1; //back to M indexing
-				bamgmesh->Edges[i*3+2]=edges[i].ref;
-				if(edges[i].onGeometry){
+				bamgmesh->Edges[i*3+2]=edges[i].ReferenceNumber;
+				if(edges[i].GeometricalEdgeHook){
 					NumIssmSegments++;
 				}
@@ -665,5 +664,5 @@
 		num=0;
 		for (i=0;i<nbe;i++){
-			if(edges[i].onGeometry){
+			if(edges[i].GeometricalEdgeHook){
 				//build segment
 				int i1=Number(edges[i][0]);
@@ -677,5 +676,5 @@
 								bamgmesh->IssmSegments[num*4+1]=Number(edges[i][1])+1; //back to M indexing
 								bamgmesh->IssmSegments[num*4+2]=(int)j/3+1;            //back to M indexing
-								bamgmesh->IssmSegments[num*4+3]=edges[i].ref;
+								bamgmesh->IssmSegments[num*4+3]=edges[i].ReferenceNumber;
 								num+=1;
 								stop=true;
@@ -686,5 +685,5 @@
 								bamgmesh->IssmSegments[num*4+1]=Number(edges[i][0])+1; //back to M indexing
 								bamgmesh->IssmSegments[num*4+2]=(int)j/3+1;            //back to M indexing
-								bamgmesh->IssmSegments[num*4+3]=edges[i].ref;
+								bamgmesh->IssmSegments[num*4+3]=edges[i].ReferenceNumber;
 								num+=1;
 								stop=true;
@@ -703,5 +702,5 @@
 		/*Triangles*/
 		if(verbose>5) printf("      writing Triangles\n");
-		k=nbInT-NbOfQuad*2;
+		k=nbInT-nbq*2;
 		num=0;
 		bamgmesh->TrianglesSize[0]=k;
@@ -716,5 +715,5 @@
 					bamgmesh->Triangles[num*4+1]=Number(t[1])+1; //back to M indexing
 					bamgmesh->Triangles[num*4+2]=Number(t[2])+1; //back to M indexing
-					bamgmesh->Triangles[num*4+3]=subdomains[reft[i]].ref;
+					bamgmesh->Triangles[num*4+3]=subdomains[reft[i]].ReferenceNumber;
 					num=num+1;
 				}
@@ -724,8 +723,8 @@
 		/*Quadrilaterals*/
 		if(verbose>5) printf("      writing Quadrilaterals\n");
-		bamgmesh->QuadrilateralsSize[0]=NbOfQuad;
+		bamgmesh->QuadrilateralsSize[0]=nbq;
 		bamgmesh->QuadrilateralsSize[1]=5;
-		if (NbOfQuad){
-			bamgmesh->Quadrilaterals=(double*)xmalloc(5*NbOfQuad*sizeof(double));
+		if (nbq){
+			bamgmesh->Quadrilaterals=(double*)xmalloc(5*nbq*sizeof(double));
 			for (i=0;i<nbt;i++){
 				Triangle &t =triangles[i];
@@ -738,5 +737,5 @@
 					bamgmesh->Quadrilaterals[i*5+2]=Number(v2)+1; //back to M indexing
 					bamgmesh->Quadrilaterals[i*5+3]=Number(v3)+1; //back to M indexing
-					bamgmesh->Quadrilaterals[i*5+4]=subdomains[reft[i]].ref;
+					bamgmesh->Quadrilaterals[i*5+4]=subdomains[reft[i]].ReferenceNumber;
 				}
 			}
@@ -745,13 +744,13 @@
 		/*SubDomains*/
 		if(verbose>5) printf("      writing SubDomains\n");
-		bamgmesh->SubDomainsSize[0]=NbSubDomains;
+		bamgmesh->SubDomainsSize[0]=nbsubdomains;
 		bamgmesh->SubDomainsSize[1]=4;
-		if (NbSubDomains){
-			bamgmesh->SubDomains=(double*)xmalloc(4*NbSubDomains*sizeof(double));
-			for (i=0;i<NbSubDomains;i++){
+		if (nbsubdomains){
+			bamgmesh->SubDomains=(double*)xmalloc(4*nbsubdomains*sizeof(double));
+			for (i=0;i<nbsubdomains;i++){
 				bamgmesh->SubDomains[i*4+0]=3;
 				bamgmesh->SubDomains[i*4+1]=reft[Number(subdomains[i].head)];
 				bamgmesh->SubDomains[i*4+2]=1;
-				bamgmesh->SubDomains[i*4+3]=subdomains[i].ref;
+				bamgmesh->SubDomains[i*4+3]=subdomains[i].ReferenceNumber;
 			}
 		}
@@ -759,13 +758,13 @@
 		/*SubDomainsFromGeom*/
 		if(verbose>5) printf("      writing SubDomainsFromGeom\n");
-		bamgmesh->SubDomainsFromGeomSize[0]=Gh.NbSubDomains;
+		bamgmesh->SubDomainsFromGeomSize[0]=Gh.nbsubdomains;
 		bamgmesh->SubDomainsFromGeomSize[1]=4;
-		if (Gh.NbSubDomains){
-			bamgmesh->SubDomainsFromGeom=(double*)xmalloc(4*Gh.NbSubDomains*sizeof(double));
-			for (i=0;i<Gh.NbSubDomains;i++){
+		if (Gh.nbsubdomains){
+			bamgmesh->SubDomainsFromGeom=(double*)xmalloc(4*Gh.nbsubdomains*sizeof(double));
+			for (i=0;i<Gh.nbsubdomains;i++){
 				bamgmesh->SubDomainsFromGeom[i*4+0]=2;
 				bamgmesh->SubDomainsFromGeom[i*4+1]=Number(subdomains[i].edge)+1; //back to Matlab indexing
-				bamgmesh->SubDomainsFromGeom[i*4+2]=subdomains[i].sens;
-				bamgmesh->SubDomainsFromGeom[i*4+3]=Gh.subdomains[i].ref;
+				bamgmesh->SubDomainsFromGeom[i*4+2]=subdomains[i].direction;
+				bamgmesh->SubDomainsFromGeom[i*4+3]=Gh.subdomains[i].ReferenceNumber;
 			}
 		}
@@ -806,5 +805,5 @@
 		k=0;
 		for (i=0;i<nbe;i++){
-			if (edges[i].onGeometry) k=k+1;
+			if (edges[i].GeometricalEdgeHook) k=k+1;
 		}
 		bamgmesh->EdgesOnGeometricEdgeSize[0]=k;
@@ -814,7 +813,7 @@
 			int count=0;
 			for (i=0;i<nbe;i++){
-				if (edges[i].onGeometry){
+				if (edges[i].GeometricalEdgeHook){
 					bamgmesh->EdgesOnGeometricEdge[count*2+0]=(double)i+1; //back to Matlab indexing
-					bamgmesh->EdgesOnGeometricEdge[count*2+1]=(double)Gh.Number(edges[i].onGeometry)+1; //back to Matlab indexing
+					bamgmesh->EdgesOnGeometricEdge[count*2+1]=(double)Gh.Number(edges[i].GeometricalEdgeHook)+1; //back to Matlab indexing
 					count=count+1;
 				}
@@ -1400,13 +1399,13 @@
 					edges[add].v[0] = &triangles[it][VerticesOfTriangularEdge[j][0]];
 					edges[add].v[1] = &triangles[it][VerticesOfTriangularEdge[j][1]];
-					edges[add].onGeometry=NULL; 
+					edges[add].GeometricalEdgeHook=NULL; 
 					//if already existed
 					if (i<nbeold){
-						edges[add].ref=edgessave[i].ref; 		      
-						edges[add].onGeometry=edgessave[i].onGeometry; //  HACK to get required edges
+						edges[add].ReferenceNumber=edgessave[i].ReferenceNumber; 		      
+						edges[add].GeometricalEdgeHook=edgessave[i].GeometricalEdgeHook; //  HACK to get required edges
 						printf("oh no...\n");
 					}
 					else
-					 edges[add].ref=Min(edges[add].v[0]->ref(),edges[add].v[1]->ref());
+					 edges[add].ReferenceNumber=Min(edges[add].v[0]->GetReferenceNumber(),edges[add].v[1]->GetReferenceNumber());
 				  }
 			}
@@ -1474,9 +1473,9 @@
 		/*Reconstruct subdomains info*/
 
-		//check that NbSubDomains is empty
-		if (NbSubDomains){
-			ISSMERROR("NbSubDomains should be 0");
-		}
-		NbSubDomains=0;
+		//check that nbsubdomains is empty
+		if (nbsubdomains){
+			ISSMERROR("nbsubdomains should be 0");
+		}
+		nbsubdomains=0;
 
 		//color the subdomains
@@ -1494,5 +1493,5 @@
 
 				//color = number of subdomains
-				colorT[it]=NbSubDomains;
+				colorT[it]=nbsubdomains;
 
 				//color all the adjacent triangles of T that share a non marked edge
@@ -1509,5 +1508,5 @@
 						//color the adjacent triangle
 						if ( ! t->Locked(j) && tt && (colorT[jt = Number(tt)] == -1) && ( tt->color==kolor)) {
-							colorT[jt]=NbSubDomains;
+							colorT[jt]=nbsubdomains;
 							st[++level]=jt;
 							st[++level]=0;
@@ -1517,15 +1516,15 @@
 					else level-=2;
 				}
-				NbSubDomains++;
-			}
-		}
-		if (verbose> 3) printf("      The Number of sub domain = %i\n",NbSubDomains); 
+				nbsubdomains++;
+			}
+		}
+		if (verbose> 3) printf("      The Number of sub domain = %i\n",nbsubdomains); 
 
 		//build subdomains
 		long isd;
-		subdomains = new SubDomain[NbSubDomains];
+		subdomains = new SubDomain[nbsubdomains];
 
 		//initialize subdomains[isd].head as 0
-		for (isd=0;isd<NbSubDomains;isd++) subdomains[isd].head =0;
+		for (isd=0;isd<nbsubdomains;isd++) subdomains[isd].head =0;
 		  
 		k=0;
@@ -1535,6 +1534,6 @@
 				if ((!tt || tt->color != triangles[it].color) && !subdomains[isd=colorT[it]].head){
 					subdomains[isd].head = triangles+it;
-					subdomains[isd].ref =  triangles[it].color;
-					subdomains[isd].sens = j; // hack
+					subdomains[isd].ReferenceNumber =  triangles[it].color;
+					subdomains[isd].direction = j; // hack
 					subdomains[isd].edge = 0;
 					k++;
@@ -1543,6 +1542,6 @@
 		}
 		//check that we have been through all subdomains
-		if (k!= NbSubDomains){
-			ISSMERROR("k!= NbSubDomains");
+		if (k!= nbsubdomains){
+			ISSMERROR("k!= nbsubdomains");
 		}
 		//delete colorT and st
@@ -1569,6 +1568,6 @@
 		Gh.vertices = new GeometricalVertex[k];
 		Gh.edges = new GeometricalEdge[nbe];
-		Gh.NbSubDomains = NbSubDomains;
-		Gh.subdomains = new GeometricalSubDomain[NbSubDomains];
+		Gh.nbsubdomains = nbsubdomains;
+		Gh.subdomains = new GeometricalSubDomain[nbsubdomains];
 		if (verbose>3) printf("   number of vertices = %i\n   number of edges = %i\n",Gh.nbv,Gh.nbe);
 		NbVerticesOnGeomVertex = Gh.nbv;
@@ -1632,7 +1631,7 @@
 			Gh.edges[i].tg[1]=R2();
 
-			bool required= edges[i].onGeometry; 
+			bool required= edges[i].GeometricalEdgeHook; 
 			if(required) kreq++;
-			edges[i].onGeometry =  Gh.edges + i;
+			edges[i].GeometricalEdgeHook =  Gh.edges + i;
 			if(required){
 				Gh.edges[i].v[0]->SetRequired();
@@ -1651,5 +1650,5 @@
 			len[j1] += l12;
 			hmin = Min(hmin,l12);
-			Gh.edges[i].ref  = edges[i].ref;
+			Gh.edges[i].ReferenceNumber  = edges[i].ReferenceNumber;
 
 			k = edge4->SortAndAdd(i0,i1);
@@ -1670,16 +1669,16 @@
 
 		//Build Gh.subdomains
-		for (i=0;i<NbSubDomains;i++){
+		for (i=0;i<nbsubdomains;i++){
 			it = Number(subdomains[i].head);
-			j = subdomains[i].sens;
+			j = subdomains[i].direction;
 			long i0 = Number(triangles[it][VerticesOfTriangularEdge[j][0]]);
 			long i1 = Number(triangles[it][VerticesOfTriangularEdge[j][1]]);
 			k = edge4->SortAndFind(i0,i1);
 			if(k>=0){
-				subdomains[i].sens = (vertices + i0 == edges[k].v[0]) ? 1 : -1;
+				subdomains[i].direction = (vertices + i0 == edges[k].v[0]) ? 1 : -1;
 				subdomains[i].edge = edges+k;
 				Gh.subdomains[i].edge = Gh.edges + k;
-				Gh.subdomains[i].sens  =  subdomains[i].sens;
-				Gh.subdomains[i].ref =  subdomains[i].ref;
+				Gh.subdomains[i].direction  =  subdomains[i].direction;
+				Gh.subdomains[i].ReferenceNumber =  subdomains[i].ReferenceNumber;
 			}
 			else
@@ -2203,5 +2202,5 @@
 		//  computed the number of cracked edge
 		for (k=i=0;i<nbe;i++){
-			if(edges[i].onGeometry->Cracked()) k++;
+			if(edges[i].GeometricalEdgeHook->Cracked()) k++;
 		}
 
@@ -2222,8 +2221,8 @@
 
 		for (i=0;i<nbe;i++){
-			if(edges[i].onGeometry->Cracked()){
+			if(edges[i].GeometricalEdgeHook->Cracked()){
 
 				//Fill edges fields of CrackedEdges
-				CrackedEdges[k  ].E =edges[i].onGeometry;
+				CrackedEdges[k  ].E =edges[i].GeometricalEdgeHook;
 				CrackedEdges[k++].e1=&edges[i];
 
@@ -2459,13 +2458,13 @@
 
 
-			if (OutSide|| !Gh.subdomains || !Gh.NbSubDomains ) 
+			if (OutSide|| !Gh.subdomains || !Gh.nbsubdomains ) 
 			  { // No geom sub domain
 				long i;
 				if (subdomains) delete [] subdomains;
 				subdomains = new SubDomain[ NbSubDomTot];
-				NbSubDomains=  NbSubDomTot;
-				for ( i=0;i<NbSubDomains;i++) {
+				nbsubdomains=  NbSubDomTot;
+				for ( i=0;i<nbsubdomains;i++) {
 					subdomains[i].head=NULL;
-					subdomains[i].ref=i+1;
+					subdomains[i].ReferenceNumber=i+1;
 				}
 				long * mark = new long[nbt];
@@ -2488,6 +2487,6 @@
 						//    else if(mark[it] == -2 ) triangles[it].Draw(999);
 						it++;} // end white (it<nbt)
-						if (k!=NbSubDomains){
-							ISSMERROR("k!=NbSubDomains");
+						if (k!=nbsubdomains){
+							ISSMERROR("k!=nbsubdomains");
 						}
 						if(OutSide) 
@@ -2496,5 +2495,5 @@
 							//  because in this case we have only the true boundary edge
 							// so teh boundary is manifold
-							long nbk = NbSubDomains;
+							long nbk = nbsubdomains;
 							while (nbk)
 							 for (it=0;it<nbt && nbk ;it++)
@@ -2505,17 +2504,17 @@
 								  long kr = mark[it];
 								  if(kr !=kl) {
-									  if (kl >=0 && subdomains[kl].ref <0 && kr >=0 && subdomains[kr].ref>=0)
-										nbk--,subdomains[kr].ref=subdomains[kl].ref-1;
-									  if (kr >=0 && subdomains[kr].ref <0 && kl >=0 && subdomains[kl].ref>=0)
-										nbk--,subdomains[kl].ref=subdomains[kr].ref-1;
-									  if(kr<0 && kl >=0 && subdomains[kl].ref>=0)
-										nbk--,subdomains[kl].ref=-1;
-									  if(kl<0 && kr >=0 && subdomains[kr].ref>=0)
-										nbk--,subdomains[kr].ref=-1;
+									  if (kl >=0 && subdomains[kl].ReferenceNumber <0 && kr >=0 && subdomains[kr].ReferenceNumber>=0)
+										nbk--,subdomains[kr].ReferenceNumber=subdomains[kl].ReferenceNumber-1;
+									  if (kr >=0 && subdomains[kr].ReferenceNumber <0 && kl >=0 && subdomains[kl].ReferenceNumber>=0)
+										nbk--,subdomains[kl].ReferenceNumber=subdomains[kr].ReferenceNumber-1;
+									  if(kr<0 && kl >=0 && subdomains[kl].ReferenceNumber>=0)
+										nbk--,subdomains[kl].ReferenceNumber=-1;
+									  if(kl<0 && kr >=0 && subdomains[kr].ReferenceNumber>=0)
+										nbk--,subdomains[kr].ReferenceNumber=-1;
 								  }
 								 }
 							long  j=0;
-							for ( i=0;i<NbSubDomains;i++)
-							 if((-subdomains[i].ref) %2) { // good 
+							for ( i=0;i<nbsubdomains;i++)
+							 if((-subdomains[i].ReferenceNumber) %2) { // good 
 								 if(i != j) 
 								  Exchange(subdomains[i],subdomains[j]);
@@ -2530,6 +2529,6 @@
 								 }//while (t)
 								}
-							if(verbose>4) printf("      Number of removes subdomains (OutSideMesh) = %i\n",NbSubDomains-j);
-							NbSubDomains=j;
+							if(verbose>4) printf("      Number of removes subdomains (OutSideMesh) = %i\n",nbsubdomains-j);
+							nbsubdomains=j;
 						  }
 
@@ -2539,9 +2538,9 @@
 			else
 			  { // find the head for all sub domaine
-				if (Gh.NbSubDomains != NbSubDomains && subdomains)
+				if (Gh.nbsubdomains != nbsubdomains && subdomains)
 				 delete [] subdomains, subdomains=0;
 				if (! subdomains  ) 
-				 subdomains = new SubDomain[ Gh.NbSubDomains];
-				NbSubDomains =Gh.NbSubDomains;
+				 subdomains = new SubDomain[ Gh.nbsubdomains];
+				nbsubdomains =Gh.nbsubdomains;
 				long err=0;
 				CreateSingleVertexToTriangleConnectivity();
@@ -2552,8 +2551,8 @@
 				 mark[it]=triangles[it].link ? -1 : -2;
 				long inew =0;
-				for (int i=0;i<NbSubDomains;i++) {
+				for (int i=0;i<nbsubdomains;i++) {
 					GeometricalEdge &eg = *Gh.subdomains[i].edge;
-					subdomains[i].ref = Gh.subdomains[i].ref;
-					int ssdlab = subdomains[i].ref;
+					subdomains[i].ReferenceNumber = Gh.subdomains[i].ReferenceNumber;
+					int ssdlab = subdomains[i].ReferenceNumber;
 					// by carefull is not easy to find a edge create from a GeometricalEdge 
 					// see routine MakeGeometricalEdgeToEdge
@@ -2564,11 +2563,11 @@
 					BamgVertex * v0 =  e(0),*v1 = e(1);
 					Triangle *t  = v0->t;
-					int sens = Gh.subdomains[i].sens;
-					// test if ge and e is in the same sens 
-					if (((eg[0].r-eg[1].r),(e[0].r-e[1].r))<0) sens = -sens ;
-					subdomains[i].sens = sens;
+					int direction = Gh.subdomains[i].direction;
+					// test if ge and e is in the same direction 
+					if (((eg[0].r-eg[1].r),(e[0].r-e[1].r))<0) direction = -direction ;
+					subdomains[i].direction = direction;
 					subdomains[i].edge = &e;
-					if (!t || !sens){
-						ISSMERROR("!t || !sens");
+					if (!t || !direction){
+						ISSMERROR("!t || !direction");
 					}
 
@@ -2580,5 +2579,5 @@
 						}
 						if (ta.EdgeVertex(0) == v1) { // ok we find the edge
-							if (sens>0)  
+							if (direction>0)  
 							 subdomains[i].head=t=Adj(ta);
 							else 
@@ -2614,7 +2613,7 @@
 				}
 
-				if (inew < NbSubDomains) {
-					if (verbose>5) printf("WARNING: %i SubDomains are being removed\n",NbSubDomains-inew);
-					NbSubDomains=inew;}
+				if (inew < nbsubdomains) {
+					if (verbose>5) printf("WARNING: %i SubDomains are being removed\n",nbsubdomains-inew);
+					nbsubdomains=inew;}
 
 
@@ -2639,12 +2638,10 @@
 		srand(19999999);
 		NbRef=0;
-		NbOfTriangleSearchFind =0;
-		NbOfSwapTriangle =0;
 		nbv=0;
 		maxnbv=maxnbv_in;
 		nbt=0;
-		NbOfQuad = 0;
+		nbq = 0;
 		maxnbt=2*maxnbv_in-2;
-		NbSubDomains=0;
+		nbsubdomains=0;
 		NbVertexOnBThVertex=0;
 		NbVertexOnBThEdge=0;
@@ -2680,5 +2677,5 @@
 		NbVerticesOnGeomEdge=0;
 		subdomains=NULL;
-		NbSubDomains=0;
+		nbsubdomains=0;
 	}
 	/*}}}1*/
@@ -2927,17 +2924,17 @@
 		  { 
 			Edge * ei = edges+i;
-			GeometricalEdge *onGeometry = ei->onGeometry; 
-			e[Gh.Number(onGeometry)] = ei;    
+			GeometricalEdge *GeometricalEdgeHook = ei->GeometricalEdgeHook; 
+			e[Gh.Number(GeometricalEdgeHook)] = ei;    
 		  }
 		for ( i=0;i<nbe ; i++) 
 		 for (int ii=0;ii<2;ii++) { 
 			 Edge * ei = edges+i;
-			 GeometricalEdge *onGeometry = ei->onGeometry;
+			 GeometricalEdge *GeometricalEdgeHook = ei->GeometricalEdgeHook;
 			 int j= ii;
-			 while (!(*onGeometry)[j].Required()) { 
-				 Adj(onGeometry,j); // next geom edge
+			 while (!(*GeometricalEdgeHook)[j].Required()) { 
+				 Adj(GeometricalEdgeHook,j); // next geom edge
 				 j=1-j;
-				 if (e[Gh.Number(onGeometry)])  break; // optimisation
-				 e[Gh.Number(onGeometry)] = ei; 
+				 if (e[Gh.Number(GeometricalEdgeHook)])  break; // optimisation
+				 e[Gh.Number(GeometricalEdgeHook)] = ei; 
 			 }
 		 }
@@ -2989,8 +2986,8 @@
 				 triangles[i].SetHidden(j),kk++;
 			  }
-			NbOfQuad = kk;
+			nbq = kk;
 			if (verbose>2){
-				printf("   number of quadrilaterals    = %i\n",NbOfQuad);
-				printf("   number of triangles         = %i\n",nbt-nbtout- NbOfQuad*2);
+				printf("   number of quadrilaterals    = %i\n",nbq);
+				printf("   number of triangles         = %i\n",nbt-nbtout- nbq*2);
 				printf("   number of outside triangles = %i\n",nbtout);
 			}
@@ -3109,5 +3106,5 @@
 			for (i=0;i<Bh.nbv;i++){ 
 				BamgVertex &bv=Bh[i];
-				if (!bv.onGeometry){
+				if (!bv.GeometricalEdgeHook){
 					vertices[nbv].r   = bv.r;
 					vertices[nbv++].m = bv.m;
@@ -3218,9 +3215,9 @@
 		BamgVertex * pvA=&vA, * pvB=&vB;
 		if (vA.vint == IsVertexOnVertex){
-			pA=vA.onBackgroundVertex;
+			pA=vA.BackgroundVertexHook;
 		}
 		else if (vA.vint == IsVertexOnEdge){
-			pA=vA.onBackgroundEdge->be;
-			tA=vA.onBackgroundEdge->abcisse;
+			pA=vA.BackgroundEdgeHook->be;
+			tA=vA.BackgroundEdgeHook->abcisse;
 		}
 		else {
@@ -3229,9 +3226,9 @@
 
 		if (vB.vint == IsVertexOnVertex){
-			pB=vB.onBackgroundVertex;
+			pB=vB.BackgroundVertexHook;
 		}
 		else if(vB.vint == IsVertexOnEdge){
-			pB=vB.onBackgroundEdge->be;
-			tB=vB.onBackgroundEdge->abcisse;
+			pB=vB.BackgroundEdgeHook->be;
+			tB=vB.BackgroundEdgeHook->abcisse;
 		}
 		else {
@@ -3255,5 +3252,5 @@
 		if( vA.vint == IsVertexOnEdge) 
 		  { // find the start edge 
-			e = vA.onBackgroundEdge->be;	 
+			e = vA.BackgroundEdgeHook->be;	 
 
 		  } 
@@ -3265,5 +3262,5 @@
 			Exchange(pvA,pvB);
 			Exchange(A,B);
-			e =  vB.onBackgroundEdge->be;
+			e =  vB.BackgroundEdgeHook->be;
 
 		  } 
@@ -3272,10 +3269,10 @@
 		  }
 
-		// find the direction of walking with sens of edge and pA,PB;
+		// find the direction of walking with direction of edge and pA,PB;
 		R2 AB=B-A;
 
 		double cosE01AB = (( (R2) (*e)[1] - (R2) (*e)[0] ) , AB);
 		int kkk=0;
-		int sens = (cosE01AB>0) ? 1 : 0;
+		int direction = (cosE01AB>0) ? 1 : 0;
 
 		//   double l=0; // length of the edge AB
@@ -3292,5 +3289,5 @@
 			double te0;
 			// we suppose take the curve's abcisse 
-			for ( eee=e,iii=sens,te0=tA;
+			for ( eee=e,iii=direction,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 ) { 
@@ -3362,6 +3359,6 @@
 	for (i=0;i<nbv;i++) ordre[i]=0;
 
-	//Initialize NbSubDomains
-	NbSubDomains =0;
+	//Initialize nbsubdomains
+	nbsubdomains =0;
 
 	/* generation of triangles adjacency*/
@@ -3619,5 +3616,5 @@
 	for (i=0;i<nbe;i++){
  	/*If the current mesh edge is on Geometry*/
-		if(edges[i].onGeometry){
+		if(edges[i].GeometricalEdgeHook){
 			for(int j=0;j<2;j++){
 				/*Go through the edges adjacent to current edge (if on the same curve)*/
@@ -3625,13 +3622,13 @@
 					/*The edge is on Geometry and does not have 2 adjacent edges... (not on a closed curve)*/
 					/*Check that the 2 vertices are on geometry AND required*/
-					if(!edges[i][j].onGeometry->IsRequiredVertex()){
+					if(!edges[i][j].GeometricalEdgeHook->IsRequiredVertex()){
 						printf("ReconstructExistingMesh error message: problem with the edge number %i: [%i %i]\n",i+1,Number(edges[i][0])+1,Number(edges[i][1])+1);
-						printf("This edge is on geometrical edge number %i\n",Gh.Number(edges[i].onGeometry)+1);
-						if (edges[i][j].onGeometry->OnGeomVertex())
-						 printf("the vertex number %i of this edge is a geometric BamgVertex number %i\n",Number(edges[i][j])+1,Gh.Number(edges[i][j].onGeometry->gv)+1);
-						else if (edges[i][j].onGeometry->OnGeomEdge())
-						 printf("the vertex number %i of this edge is a geometric Edge number %i\n",Number(edges[i][j])+1,Gh.Number(edges[i][j].onGeometry->ge)+1);
+						printf("This edge is on geometrical edge number %i\n",Gh.Number(edges[i].GeometricalEdgeHook)+1);
+						if (edges[i][j].GeometricalEdgeHook->OnGeomVertex())
+						 printf("the vertex number %i of this edge is a geometric BamgVertex number %i\n",Number(edges[i][j])+1,Gh.Number(edges[i][j].GeometricalEdgeHook->gv)+1);
+						else if (edges[i][j].GeometricalEdgeHook->OnGeomEdge())
+						 printf("the vertex number %i of this edge is a geometric Edge number %i\n",Number(edges[i][j])+1,Gh.Number(edges[i][j].GeometricalEdgeHook->ge)+1);
 						else
-						 printf("Its pointer is %p\n",edges[i][j].onGeometry);
+						 printf("Its pointer is %p\n",edges[i][j].GeometricalEdgeHook);
 
 						printf("This edge is on geometry and has no adjacent edge (open curve) and one of the tip is not required\n");
@@ -3655,5 +3652,5 @@
 		for ( it=0;it<nbt;it++) 
 		 renu[it]=-1; // outside triangle 
-		for ( i=0;i<NbSubDomains;i++)
+		for ( i=0;i<nbsubdomains;i++)
 		  { 
 			t=t0=subdomains[i].head;
@@ -3690,5 +3687,5 @@
 		 triangles[it].Renumbering(triangles,te,renu);
 
-		for ( i=0;i<NbSubDomains;i++)
+		for ( i=0;i<nbsubdomains;i++)
 		 subdomains[i].head=triangles+renu[Number(subdomains[i].head)];
 
@@ -3989,5 +3986,5 @@
 		 if (tstart[i] != &vide) // not a boundary vertex 
 		  delta=Max(delta,vertices[i].Smoothing(*this,BTh,tstart[i],omega));
-		if (!NbOfQuad)
+		if (!nbq)
 		 for ( i=0;i<nbv;i++)
 		  if (tstart[i] != &vide) // not a boundary vertex 
@@ -4100,5 +4097,5 @@
 		long newnbt=0,newnbv=0;
 		long * kedge = 0;
-		long newNbOfQuad=NbOfQuad;
+		long newnbq=nbq;
 		long * ksplit= 0, * ksplitarray=0;
 		long kkk=0;
@@ -4117,5 +4114,5 @@
 		Triangle * lastT = triangles + nbt;
 		for (i=0;i<nbe;i++)
-		 if(edges[i].onGeometry) NbEdgeOnGeom++;
+		 if(edges[i].GeometricalEdgeHook) NbEdgeOnGeom++;
 		long newnbe=nbe+nbe;
 		//  long newNbVerticesOnGeomVertex=NbVerticesOnGeomVertex;
@@ -4144,9 +4141,9 @@
 		long ferr=0;
 		for (i=0;i<nbe;i++)
-		 newedges[ie].onGeometry=0;
+		 newedges[ie].GeometricalEdgeHook=0;
 
 		for (i=0;i<nbe;i++)
 		  {
-			GeometricalEdge *ong =  edges[i].onGeometry;
+			GeometricalEdge *ong =  edges[i].GeometricalEdgeHook;
 
 			newedges[ie]=edges[i];
@@ -4167,9 +4164,9 @@
 						ISSMERROR("!edgesGtoB");
 					}
-					ong= ProjectOnCurve(*edgesGtoB[Gh.Number(edges[i].onGeometry)],
+					ong= ProjectOnCurve(*edgesGtoB[Gh.Number(edges[i].GeometricalEdgeHook)],
 								edges[i][0],edges[i][1],0.5,vertices[k],
 								newVertexOnBThEdge[kvb],
 								newVerticesOnGeomEdge[kvg++]);
-					vertices[k].ReferenceNumber= edges[i].ref;
+					vertices[k].ReferenceNumber= edges[i].ReferenceNumber;
 					vertices[k].DirOfSearch =   NoDirOfSearch;        
 					;
@@ -4187,5 +4184,5 @@
 								0.5,vertices[k],newVerticesOnGeomEdge[kvg++]);
 					// vertices[k].i = toI2( vertices[k].r);
-					vertices[k].ReferenceNumber = edges[i].ref;
+					vertices[k].ReferenceNumber = edges[i].ReferenceNumber;
 					vertices[k].DirOfSearch = NoDirOfSearch;
 					vertices[k].m =  Metric(0.5,edges[i][0],0.5,edges[i][1]);	      
@@ -4196,5 +4193,5 @@
 				vertices[k].r = ((R2) edges[i][0] + (R2)  edges[i][1] )*0.5;
 				vertices[k].m =  Metric(0.5,edges[i][0],0.5,edges[i][1]);
-				vertices[k].onGeometry = 0;
+				vertices[k].GeometricalEdgeHook = 0;
 			  }
 			//vertices[k].i = toI2( vertices[k].r);
@@ -4202,8 +4199,8 @@
 			R2 AA = (A+AB)*0.5;
 			R2 BB = (AB+B)*0.5;
-			vertices[k].ReferenceNumber = edges[i].ref;
+			vertices[k].ReferenceNumber = edges[i].ReferenceNumber;
 			vertices[k].DirOfSearch = NoDirOfSearch;
 
-			newedges[ie].onGeometry = Gh.Containing(AA,ong);
+			newedges[ie].GeometricalEdgeHook = Gh.Containing(AA,ong);
 			newedges[ie++].v[1]=vertices+k;
 
@@ -4211,5 +4208,5 @@
 			newedges[ie].adj[0]=newedges + ie -1;
 			newedges[ie].adj[1]=newedges+(edges[i].adj[1]-edges) ;
-			newedges[ie].onGeometry =  Gh.Containing(BB,ong);
+			newedges[ie].GeometricalEdgeHook =  Gh.Containing(BB,ong);
 			newedges[ie++].v[0]=vertices+k;
 			k++;
@@ -4349,5 +4346,5 @@
 		  }
 		//  now do the element split
-		newNbOfQuad = 4*NbOfQuad;
+		newnbq = 4*nbq;
 		nbv = k;
 		kkk = nbt;
@@ -4517,5 +4514,5 @@
 			}
 
-			if (kk==6)  newNbOfQuad+=3;
+			if (kk==6)  newnbq+=3;
 			for (jj=ksplit[i-1];jj<kkk;jj++) nbt = kkk;
 			ksplit[i]= nbt; // save last adresse of the new triangles
@@ -4544,7 +4541,7 @@
 		edges = newedges;
 		nbe = newnbe;
-		NbOfQuad = newNbOfQuad;
-
-		for (i=0;i<NbSubDomains;i++)
+		nbq = newnbq;
+
+		for (i=0;i<nbsubdomains;i++)
 		  { 
 			long k = subdomains[i].edge- edges;
@@ -4566,6 +4563,6 @@
 
 		if (verbose>2){
-			printf("   number of quadrilaterals    = %i\n",NbOfQuad);
-			printf("   number of triangles         = %i\n",nbt-nbtout- NbOfQuad*2);
+			printf("   number of quadrilaterals    = %i\n",nbq);
+			printf("   number of triangles         = %i\n",nbt-nbtout- nbq*2);
 			printf("   number of outside triangles = %i\n",nbtout);
 		}
@@ -4607,5 +4604,5 @@
 				  BamgVertex &v0 = t[VerticesOfTriangularEdge[j][0]];
 				  BamgVertex &v1 = t[VerticesOfTriangularEdge[j][1]];
-				  if (v0.onGeometry && v1.onGeometry){
+				  if (v0.GeometricalEdgeHook && v1.GeometricalEdgeHook){
 					  R2 P= ((R2) v0 + (R2) v1)*0.5;
 					  if ( nbv<maxnbv) {
@@ -4750,5 +4747,4 @@
 	if (t->det<0) // outside triangle 
 	 dete[0]=dete[1]=dete[2]=-1,dete[OppositeVertex[jj]]=detop;
-	//  NbOfTriangleSearchFind += counter;  
 	return t;
 }
@@ -4777,5 +4773,5 @@
 
 	//loop over all subdomains
-	for (int i=0;i<NbSubDomains;i++){ 
+	for (int i=0;i<nbsubdomains;i++){ 
 
 		//first triangle of the subdomain i
@@ -4814,5 +4810,5 @@
 
 		int i,j,k;
-		int NbOfCurves=0,NbNewPoints,NbEdgeCurve;
+		int nbcurves=0,NbNewPoints,NbEdgeCurve;
 		double lcurve,lstep,s;
 		const int MaxSubEdge = 10;
@@ -4890,5 +4886,5 @@
 			long NbVerticesOnGeomEdge0=NbVerticesOnGeomEdge;
 			Gh.UnMarkEdges();	
-			NbOfCurves=0;
+			nbcurves=0;
 
 			//go through the edges of the geometry
@@ -4922,6 +4918,6 @@
 									edges[nbe].v[0]=a->to;
 									edges[nbe].v[1]=b->to;;
-									edges[nbe].ref = e->ref;
-									edges[nbe].onGeometry = e;
+									edges[nbe].ReferenceNumber = e->ReferenceNumber;
+									edges[nbe].GeometricalEdgeHook = e;
 									edges[nbe].adj[0] = 0;
 									edges[nbe].adj[1] = 0;
@@ -5021,5 +5017,5 @@
 										vb = &vertices[nbv++];
 										vb->m = Metric(aa,a->m,bb,b->m);
-										vb->ReferenceNumber = e->ref;
+										vb->ReferenceNumber = e->ReferenceNumber;
 										vb->DirOfSearch =NoDirOfSearch;
 										double abcisse = k ? bb : aa;
@@ -5031,6 +5027,6 @@
 										edges[nbe].v[0]=va;
 										edges[nbe].v[1]=vb;
-										edges[nbe].ref =e->ref;
-										edges[nbe].onGeometry = e;
+										edges[nbe].ReferenceNumber =e->ReferenceNumber;
+										edges[nbe].GeometricalEdgeHook = e;
 										edges[nbe].adj[0] = PreviousNewEdge;
 										if(PreviousNewEdge) PreviousNewEdge->adj[1]=&edges[nbe];
@@ -5053,5 +5049,5 @@
 								if(!kstep){
 									NbVerticesOnGeomEdge0 += NbNewPoints;
-									NbOfCurves++;
+									nbcurves++;
 								}
 								nbvend=nbv+NbNewPoints; 
@@ -5061,6 +5057,6 @@
 								edges[nbe].v[0]=va;
 								edges[nbe].v[1]=vb;
-								edges[nbe].ref = e->ref;
-								edges[nbe].onGeometry = e;
+								edges[nbe].ReferenceNumber = e->ReferenceNumber;
+								edges[nbe].GeometricalEdgeHook = e;
 								edges[nbe].adj[0] = PreviousNewEdge;
 								edges[nbe].adj[1] = 0;
@@ -5146,5 +5142,5 @@
 		this->Init(imaxnbv);
 		BTh.SetVertexFieldOn();
-		int* bcurve = new int[Gh.NbOfCurves]; // 
+		int* bcurve = new int[Gh.nbcurves]; // 
 
 		/* There are 2 ways to make the loop 
@@ -5196,5 +5192,5 @@
 		Gh.UnMarkEdges();	
 		int bfind=0;
-		for (int i=0;i<Gh.NbOfCurves;i++) bcurve[i]=-1; 
+		for (int i=0;i<Gh.nbcurves;i++) bcurve[i]=-1; 
 
 		/*Loop over the backgrounf mesh BTh edges*/
@@ -5206,22 +5202,22 @@
 
 				/* If one of the vertex is required we are in a new curve*/
-				if (ei[je].onGeometry->IsRequiredVertex()){ 
+				if (ei[je].GeometricalEdgeHook->IsRequiredVertex()){ 
 
 					/*Get curve number*/
-					int nc=ei.onGeometry->CurveNumber;
+					int nc=ei.GeometricalEdgeHook->CurveNumber;
 					
 					//printf("Dealing with curve number %i\n",nc);
-					//printf("edge on geometry is same as GhCurve? %s\n",(ei.onGeometry==Gh.curves[nc].be || ei.onGeometry==Gh.curves[nc].ee)?"yes":"no");
-					//if(ei.onGeometry==Gh.curves[nc].be || ei.onGeometry==Gh.curves[nc].ee){
-					//	printf("Do we have the right extremity? curve first vertex -> %s\n",((GeometricalVertex *)*ei[je].onGeometry==&(*Gh.curves[nc].be)[Gh.curves[nc].kb])?"yes":"no");
-					//	printf("Do we have the right extremity? curve last  vertex -> %s\n",((GeometricalVertex *)*ei[je].onGeometry==&(*Gh.curves[nc].ee)[Gh.curves[nc].ke])?"yes":"no");
+					//printf("edge on geometry is same as GhCurve? %s\n",(ei.GeometricalEdgeHook==Gh.curves[nc].be || ei.GeometricalEdgeHook==Gh.curves[nc].ee)?"yes":"no");
+					//if(ei.GeometricalEdgeHook==Gh.curves[nc].be || ei.GeometricalEdgeHook==Gh.curves[nc].ee){
+					//	printf("Do we have the right extremity? curve first vertex -> %s\n",((GeometricalVertex *)*ei[je].GeometricalEdgeHook==&(*Gh.curves[nc].be)[Gh.curves[nc].kb])?"yes":"no");
+					//	printf("Do we have the right extremity? curve last  vertex -> %s\n",((GeometricalVertex *)*ei[je].GeometricalEdgeHook==&(*Gh.curves[nc].ee)[Gh.curves[nc].ke])?"yes":"no");
 					//}
 					//BUG FIX from original bamg
 					/*Check that we are on the same edge and right vertex (0 or 1) */
-					if(ei.onGeometry==Gh.curves[nc].be  && (GeometricalVertex *)*ei[je].onGeometry==&(*Gh.curves[nc].be)[Gh.curves[nc].kb]){
+					if(ei.GeometricalEdgeHook==Gh.curves[nc].be  && (GeometricalVertex *)*ei[je].GeometricalEdgeHook==&(*Gh.curves[nc].be)[Gh.curves[nc].kb]){
 						bcurve[nc]=iedge*2+je;
 						bfind++;	
 					}
-					else if ((ei.onGeometry==Gh.curves[nc].ee  && (GeometricalVertex *)*ei[je].onGeometry==&(*Gh.curves[nc].ee)[Gh.curves[nc].ke]) && bcurve[nc]==-1){
+					else if ((ei.GeometricalEdgeHook==Gh.curves[nc].ee  && (GeometricalVertex *)*ei[je].GeometricalEdgeHook==&(*Gh.curves[nc].ee)[Gh.curves[nc].ke]) && bcurve[nc]==-1){
 						bcurve[nc]=iedge*2+je;
 						bfind++;	
@@ -5230,5 +5226,5 @@
 			}
 		} 
-		if (bfind!=Gh.NbOfCurves) ISSMERROR("problem generating number of curves (Gh.NbOfCurves=%i bfind=%i)",Gh.NbOfCurves,bfind);
+		if (bfind!=Gh.nbcurves) ISSMERROR("problem generating number of curves (Gh.nbcurves=%i bfind=%i)",Gh.nbcurves,bfind);
 
 		// method in 2 + 1 step 
@@ -5247,5 +5243,5 @@
 
 			/*Go through all geometrical curve*/
-			for (int icurve=0;icurve<Gh.NbOfCurves;icurve++){ 
+			for (int icurve=0;icurve<Gh.nbcurves;icurve++){ 
 
 				/*Get edge and vertex (index) of background mesh on this curve*/
@@ -5282,10 +5278,10 @@
 						int k0equi=jedgeequi,k1equi;		  
 						Edge * peequi= BTh.edges+iedgeequi;
-						GeometricalEdge *ongequi = peequi->onGeometry;
+						GeometricalEdge *ongequi = peequi->GeometricalEdgeHook;
 
 						double sNew=Lstep;// abscisse of the new points (phase==1) 
 						L=0;// length of the curve
 						long i=0;// index of new points on the curve
-						register GeometricalVertex * GA0 = *(*peequi)[k0equi].onGeometry;
+						register GeometricalVertex * GA0 = *(*peequi)[k0equi].GeometricalEdgeHook;
 						BamgVertex *A0;
 						A0 = GA0->to;  // the vertex in new mesh
@@ -5297,5 +5293,5 @@
 						ISSMASSERT(A0-vertices>=0 && A0-vertices<nbv);
 						if(ongequi->Required()){
-							GeometricalVertex *GA1 = *(*peequi)[1-k0equi].onGeometry;
+							GeometricalVertex *GA1 = *(*peequi)[1-k0equi].GeometricalEdgeHook;
 							A1 = GA1->to;  //
 						}       
@@ -5306,6 +5302,6 @@
 								k1 = 1-k0; // next vertex of the edge 
 								k1equi= 1 - k0equi;
-								ISSMASSERT(pe && ee.onGeometry);
-								ee.onGeometry->SetMark();
+								ISSMASSERT(pe && ee.GeometricalEdgeHook);
+								ee.GeometricalEdgeHook->SetMark();
 								BamgVertex & v0=ee[0], & v1=ee[1];
 								R2 AB=(R2)v1-(R2)v0;
@@ -5341,10 +5337,10 @@
 										VertexOnBThEdge[NbVerticesOnGeomEdge++] = VertexOnEdge(A1,&eeequi,se); // save 
 										ongequi=Gh.ProjectOnCurve(eeequi,se,*A1,*GA1); 
-										A1->ReferenceNumber = eeequi.ref;
+										A1->ReferenceNumber = eeequi.ReferenceNumber;
 										A1->DirOfSearch =NoDirOfSearch;
-										e->onGeometry = ongequi;
+										e->GeometricalEdgeHook = ongequi;
 										e->v[0]=A0;
 										e->v[1]=A1;
-										e->ref = eeequi.ref;
+										e->ReferenceNumber = eeequi.ReferenceNumber;
 										e->adj[0]=PreviousNewEdge;
 
@@ -5358,8 +5354,8 @@
 
 								//some checks
-								ISSMASSERT(ee.onGeometry->CurveNumber==ei.onGeometry->CurveNumber);
-								if (ee[k1].onGeometry->IsRequiredVertex()) {
-									ISSMASSERT(eeequi[k1equi].onGeometry->IsRequiredVertex());
-									register GeometricalVertex * GA1 = *eeequi[k1equi].onGeometry;
+								ISSMASSERT(ee.GeometricalEdgeHook->CurveNumber==ei.GeometricalEdgeHook->CurveNumber);
+								if (ee[k1].GeometricalEdgeHook->IsRequiredVertex()) {
+									ISSMASSERT(eeequi[k1equi].GeometricalEdgeHook->IsRequiredVertex());
+									register GeometricalVertex * GA1 = *eeequi[k1equi].GeometricalEdgeHook;
 									A1=GA1->to;// the vertex in new mesh
 									ISSMASSERT(A1-vertices>=0 && A1-vertices<nbv);
@@ -5379,8 +5375,8 @@
 						if (phase){ // construction of the last edge
 							Edge* e=edges + nbe++;
-							e->onGeometry  = ongequi;
+							e->GeometricalEdgeHook  = ongequi;
 							e->v[0]=A0;
 							e->v[1]=A1;
-							e->ref = peequi->ref;
+							e->ReferenceNumber = peequi->ReferenceNumber;
 							e->adj[0]=PreviousNewEdge;
 							e->adj[1]=0;
@@ -5649,5 +5645,5 @@
 	AdjacentTriangle tta(a.t,EdgesVertexTriangle[a.vint][0]);
 	BamgVertex   *v1, *v2 = tta.EdgeVertex(0),*vbegin =v2;
-	// we turn around a in the  direct sens  
+	// we turn around a in the  direct direction  
 
 	Icoor2 det2 = v2 ? det(*v2,a,b): -1 , det1;
@@ -5816,5 +5812,5 @@
 			if(!ToSwap) tt1 =  Next(tt2);
 		}
-		else { // changement de sens 
+		else { // changement de direction 
 			ret = -1;
 			Exchange(pva,pvb);
Index: /issm/trunk/src/c/objects/Bamg/Mesh.h
===================================================================
--- /issm/trunk/src/c/objects/Bamg/Mesh.h	(revision 5147)
+++ /issm/trunk/src/c/objects/Bamg/Mesh.h	(revision 5148)
@@ -34,11 +34,13 @@
 			SubDomain                    *subdomains;
 			long                          NbRef;                 // counter of ref on the this class if 0 we can delete
-			long                          maxnbv,maxnbt;           // nombre max de sommets , de triangles
-			long                          nbv,nbt,nbe;           // nb of vertices, of triangles, of edges 
-			long                          NbOfQuad;              // nb of quadrangle
-			long                          NbSubDomains;
+			long                          maxnbv,maxnbt;         // nombre max de sommets , de triangles
+			long                          nbv,nbt,nbe,nbq;       // nb of vertices, of triangles, of edges and quadrilaterals
+			long                          nbsubdomains;
 			long                          nbtout;                // Nb of oudeside triangle
-			long                          NbOfTriangleSearchFind;
-			long                          NbOfSwapTriangle;
+
+			R2                            pmin,pmax;             // extrema
+			double                        coefIcoor;             // coef to integer Icoor1;
+			ListofIntersectionTriangles   lIntTria;
+
 			long                          NbVerticesOnGeomVertex;
 			VertexOnGeom                 *VerticesOnGeomVertex;
@@ -53,7 +55,4 @@
 			long                          NbCrackedEdges;
 			CrackedEdge                  *CrackedEdges;
-			R2                            pmin,pmax;             // extrema
-			double                        coefIcoor;             // coef to integer Icoor1;
-			ListofIntersectionTriangles   lIntTria;
 
 			//Constructors/Destructors
@@ -139,10 +138,10 @@
 			  }
 			inline  void  SetVertexFieldOn(){
-				for (int i=0;i<nbv;i++)                    vertices[i].onGeometry=NULL;
+				for (int i=0;i<nbv;i++)                    vertices[i].GeometricalEdgeHook=NULL;
 				for (int j=0;j<NbVerticesOnGeomVertex;j++) VerticesOnGeomVertex[j].SetOn();
 				for (int k=0;k<NbVerticesOnGeomEdge;k++ )  VerticesOnGeomEdge[k].SetOn();
 			}	       
 			inline  void   SetVertexFieldOnBTh(){
-				for (int i=0;i<nbv;i++)                 vertices[i].onGeometry=NULL;
+				for (int i=0;i<nbv;i++)                 vertices[i].GeometricalEdgeHook=NULL;
 				for (int j=0;j<NbVertexOnBThVertex;j++) VertexOnBThVertex[j].SetOnBTh();
 				for (int k=0;k<NbVertexOnBThEdge;k++ )  VertexOnBThEdge[k].SetOnBTh();
Index: /issm/trunk/src/c/objects/Bamg/Metric.cpp
===================================================================
--- /issm/trunk/src/c/objects/Bamg/Metric.cpp	(revision 5147)
+++ /issm/trunk/src/c/objects/Bamg/Metric.cpp	(revision 5148)
@@ -156,5 +156,5 @@
 				  {
 					k=k/2;
-					// we begin by the end to walk in the correct sens from a to b
+					// we begin by the end to walk in the correct direction from a to b
 					// due to the stack 
 					Ms1[level]=Mi;
Index: /issm/trunk/src/c/objects/Bamg/QuadTree.cpp
===================================================================
--- /issm/trunk/src/c/objects/Bamg/QuadTree.cpp	(revision 5147)
+++ /issm/trunk/src/c/objects/Bamg/QuadTree.cpp	(revision 5148)
@@ -388,5 +388,5 @@
 			  {
 				I2 i2 =  b->v[k]->i;
-				//   try if is in the right sens -- 
+				//   try if is in the right direction -- 
 				h0 = NORM(iplus,i2.x,jplus,i2.y);
 				if (h0 <h) {
@@ -415,5 +415,5 @@
 					NbVerticesSearch++;
 					I2 i2 =  b->v[k]->i;
-					// if good sens when try -- 
+					// if good direction when try -- 
 
 					h0 = NORM(iplus,i2.x,jplus,i2.y);
Index: /issm/trunk/src/c/objects/Bamg/R2.h
===================================================================
--- /issm/trunk/src/c/objects/Bamg/R2.h	(revision 5147)
+++ /issm/trunk/src/c/objects/Bamg/R2.h	(revision 5148)
@@ -91,8 +91,4 @@
 	  } 
 	template  <class R,class RR>  
-	  inline R NormeInfini (const P2<R,RR> x) {
-		  return Max(Abs(x.x),Abs(x.y)) ;
-	  }
-	template  <class R,class RR>  
 	  inline RR Norme2_2 (const P2<R,RR> x) {
 		  return (RR)x.x*(RR)x.x + (RR)x.y*(RR)x.y ;
Index: /issm/trunk/src/c/objects/Bamg/SubDomain.h
===================================================================
--- /issm/trunk/src/c/objects/Bamg/SubDomain.h	(revision 5147)
+++ /issm/trunk/src/c/objects/Bamg/SubDomain.h	(revision 5148)
@@ -12,9 +12,11 @@
 
 	class SubDomain {
+
 		public:
-			Triangle * head;
-			long  ref;  
-			int sens; // -1 or 1
-			Edge* edge; // to  geometrical 	
+
+			Triangle *head;
+			long      ReferenceNumber;
+			int       direction;   // -1 or 1
+			Edge     *edge;        // to geometrical
 
 			//Methods
Index: /issm/trunk/src/c/objects/Bamg/Triangle.cpp
===================================================================
--- /issm/trunk/src/c/objects/Bamg/Triangle.cpp	(revision 5147)
+++ /issm/trunk/src/c/objects/Bamg/Triangle.cpp	(revision 5148)
@@ -19,9 +19,9 @@
 			ISSMERROR("i>=nbv || j>=nbv || k>=nbv");
 		}
-		TriaVertices[0]=v+i;
-		TriaVertices[1]=v+j;
-		TriaVertices[2]=v+k;
-		TriaAdjTriangles[0]=TriaAdjTriangles[1]=TriaAdjTriangles[2]=0;
-		TriaAdjSharedEdge[0]=TriaAdjSharedEdge[1]=TriaAdjSharedEdge[2]=0;
+		vertices[0]=v+i;
+		vertices[1]=v+j;
+		vertices[2]=v+k;
+		adj[0]=adj[1]=adj[2]=0;
+		AdjEdgeNumber[0]=AdjEdgeNumber[1]=AdjEdgeNumber[2]=0;
 		det=0;
 	}
@@ -29,9 +29,9 @@
 	/*FUNCTION Triangle(BamgVertex *v0,BamgVertex *v1,BamgVertex *v2) {{{1*/
 	Triangle::Triangle(BamgVertex *v0,BamgVertex *v1,BamgVertex *v2){
-		TriaVertices[0]=v0;
-		TriaVertices[1]=v1;
-		TriaVertices[2]=v2;
-		TriaAdjTriangles[0]=TriaAdjTriangles[1]=TriaAdjTriangles[2]=0;
-		TriaAdjSharedEdge[0]=TriaAdjSharedEdge[1]=TriaAdjSharedEdge[2]=0;
+		vertices[0]=v0;
+		vertices[1]=v1;
+		vertices[2]=v2;
+		adj[0]=adj[1]=adj[2]=0;
+		AdjEdgeNumber[0]=AdjEdgeNumber[1]=AdjEdgeNumber[2]=0;
 		if (v0) det=0;
 		else {
@@ -48,8 +48,8 @@
 
 		printf("Triangle:\n");
-		printf("   TriaVertices pointer towards three vertices\n");
-		printf("      TriaVertices[0] TriaVertices[1] TriaVertices[2] = %p %p %p\n",TriaVertices[0],TriaVertices[1],TriaVertices[2]);
-		printf("   TriaAdjTriangles pointer towards three adjacent triangles\n");
-		printf("      TriaAdjTriangles[0] TriaAdjTriangles[1] TriaAdjTriangles[2] = %p %p %p\n",TriaAdjTriangles[0],TriaAdjTriangles[1],TriaAdjTriangles[2]);
+		printf("   vertices pointer towards three vertices\n");
+		printf("      vertices[0] vertices[1] vertices[2] = %p %p %p\n",vertices[0],vertices[1],vertices[2]);
+		printf("   adj pointer towards three adjacent triangles\n");
+		printf("      adj[0] adj[1] adj[2] = %p %p %p\n",adj[0],adj[1],adj[2]);
 		printf("   det (integer triangle determinant) = %i\n",det);
 		if (link){
@@ -62,6 +62,6 @@
 		printf("\nThree vertices:\n");
 		for(i=0;i<3;i++){
-			if (TriaVertices[i]){
-				TriaVertices[i]->Echo();
+			if (vertices[i]){
+				vertices[i]->Echo();
 			}
 			else{
@@ -99,5 +99,5 @@
 			k++;
 			//Get ttc, adjacent triangle of t with respect to vertex j
-			ttc =  t->TriaAdjTriangles[j];
+			ttc =  t->adj[j];
 			//is the current triangle inside or outside?
 			outside = !ttc->link;
@@ -108,5 +108,5 @@
 			t = ttc;
 			//NextEdge[3] = {1,2,0};
-			jc = NextEdge[t->TriaAdjSharedEdge[j]&3];
+			jc = NextEdge[t->AdjEdgeNumber[j]&3];
 			j = NextEdge[jc];
 
@@ -132,6 +132,6 @@
 
 		// initialize tp, jp the previous triangle & edge
-		Triangle *tp=TriaAdjTriangles[jp];
-		jp = TriaAdjSharedEdge[jp]&3;
+		Triangle *tp=adj[jp];
+		jp = AdjEdgeNumber[jp]&3;
 		do {
 			while (t->swap(j,koption)){
@@ -139,6 +139,6 @@
 				NbSwap++;
 				k++;
-				t=  tp->TriaAdjTriangles[jp];      // set unchange t qnd j for previous triangles
-				j=  NextEdge[tp->TriaAdjSharedEdge[jp]&3];
+				t=  tp->adj[jp];      // set unchange t qnd j for previous triangles
+				j=  NextEdge[tp->AdjEdgeNumber[jp]&3];
 			}
 			// end on this  Triangle 
@@ -146,6 +146,6 @@
 			jp = NextEdge[j];
 
-			t=  tp->TriaAdjTriangles[jp];      // set unchange t qnd j for previous triangles
-			j=  NextEdge[tp->TriaAdjSharedEdge[jp]&3];
+			t=  tp->adj[jp];      // set unchange t qnd j for previous triangles
+			j=  NextEdge[tp->AdjEdgeNumber[jp]&3];
 
 		} while( t != this);
@@ -159,14 +159,14 @@
 		if (link) {
 			int a=-1;
-			if (TriaAdjSharedEdge[0] & 16 ) a=0;
-			if (TriaAdjSharedEdge[1] & 16 ) a=1;
-			if (TriaAdjSharedEdge[2] & 16 ) a=2;
+			if (AdjEdgeNumber[0] & 16 ) a=0;
+			if (AdjEdgeNumber[1] & 16 ) a=1;
+			if (AdjEdgeNumber[2] & 16 ) a=2;
 			if (a>=0) {
-				t = TriaAdjTriangles[a];
+				t = adj[a];
 				//  if (t-this<0) return 0;
-				v2 = TriaVertices[VerticesOfTriangularEdge[a][0]];
-				v0 = TriaVertices[VerticesOfTriangularEdge[a][1]];
-				v1 = TriaVertices[OppositeEdge[a]];
-				v3 = t->TriaVertices[OppositeEdge[TriaAdjSharedEdge[a]&3]];
+				v2 = vertices[VerticesOfTriangularEdge[a][0]];
+				v0 = vertices[VerticesOfTriangularEdge[a][1]];
+				v1 = vertices[OppositeEdge[a]];
+				v3 = t->vertices[OppositeEdge[AdjEdgeNumber[a]&3]];
 			}
 		}
@@ -177,17 +177,17 @@
 	double   Triangle::QualityQuad(int a,int option) const{
 		double q;
-		if (!link || TriaAdjSharedEdge[a] &4)
+		if (!link || AdjEdgeNumber[a] &4)
 		 q=  -1;
 		else {
-			Triangle * t = TriaAdjTriangles[a];
+			Triangle * t = adj[a];
 			if (t-this<0) q=  -1;// because we do 2 times 
 			else if (!t->link ) q=  -1;
-			else if (TriaAdjSharedEdge[0] & 16 || TriaAdjSharedEdge[1] & 16  || TriaAdjSharedEdge[2] & 16 || t->TriaAdjSharedEdge[0] & 16 || t->TriaAdjSharedEdge[1] & 16 || t->TriaAdjSharedEdge[2] & 16 )
+			else if (AdjEdgeNumber[0] & 16 || AdjEdgeNumber[1] & 16  || AdjEdgeNumber[2] & 16 || t->AdjEdgeNumber[0] & 16 || t->AdjEdgeNumber[1] & 16 || t->AdjEdgeNumber[2] & 16 )
 			 q= -1;
 			else if(option){ 
-				const BamgVertex & v2 = *TriaVertices[VerticesOfTriangularEdge[a][0]];
-				const BamgVertex & v0 = *TriaVertices[VerticesOfTriangularEdge[a][1]];
-				const BamgVertex & v1 = *TriaVertices[OppositeEdge[a]];
-				const BamgVertex & v3 = * t->TriaVertices[OppositeEdge[TriaAdjSharedEdge[a]&3]];
+				const BamgVertex & v2 = *vertices[VerticesOfTriangularEdge[a][0]];
+				const BamgVertex & v0 = *vertices[VerticesOfTriangularEdge[a][1]];
+				const BamgVertex & v1 = *vertices[OppositeEdge[a]];
+				const BamgVertex & v3 = * t->vertices[OppositeEdge[AdjEdgeNumber[a]&3]];
 				q =  QuadQuality(v0,v1,v2,v3); // do the float part
 			}
@@ -200,10 +200,10 @@
 	void Triangle::Set(const Triangle & rec,const Mesh & Th ,Mesh & ThNew){ 
 		*this = rec;
-		if ( TriaVertices[0] ) TriaVertices[0] = ThNew.vertices +  Th.Number(TriaVertices[0]);
-		if ( TriaVertices[1] ) TriaVertices[1] = ThNew.vertices +  Th.Number(TriaVertices[1]);
-		if ( TriaVertices[2] ) TriaVertices[2] = ThNew.vertices +  Th.Number(TriaVertices[2]);
-		if(TriaAdjTriangles[0]) TriaAdjTriangles[0] =  ThNew.triangles + Th.Number(TriaAdjTriangles[0]);
-		if(TriaAdjTriangles[1]) TriaAdjTriangles[1] =  ThNew.triangles + Th.Number(TriaAdjTriangles[1]);
-		if(TriaAdjTriangles[2]) TriaAdjTriangles[2] =  ThNew.triangles + Th.Number(TriaAdjTriangles[2]);
+		if ( vertices[0] ) vertices[0] = ThNew.vertices +  Th.Number(vertices[0]);
+		if ( vertices[1] ) vertices[1] = ThNew.vertices +  Th.Number(vertices[1]);
+		if ( vertices[2] ) vertices[2] = ThNew.vertices +  Th.Number(vertices[2]);
+		if(adj[0]) adj[0] =  ThNew.triangles + Th.Number(adj[0]);
+		if(adj[1]) adj[1] =  ThNew.triangles + Th.Number(adj[1]);
+		if(adj[2]) adj[2] =  ThNew.triangles + Th.Number(adj[2]);
 		if (link  >= Th.triangles && link  < Th.triangles + Th.nbt)
 		 link = ThNew.triangles + Th.Number(link);
@@ -216,12 +216,12 @@
 		if(a/4 !=0) return 0;// arete lock or MarkUnSwap
 
-		register Triangle *t1=this,*t2=TriaAdjTriangles[a];// les 2 triangles adjacent
-		register short a1=a,a2=TriaAdjSharedEdge[a];// les 2 numero de l arete dans les 2 triangles
+		register Triangle *t1=this,*t2=adj[a];// les 2 triangles adjacent
+		register short a1=a,a2=AdjEdgeNumber[a];// les 2 numero de l arete dans les 2 triangles
 		if(a2/4 !=0) return 0; // arete lock or MarkUnSwap
 
-		register BamgVertex  *sa=t1->TriaVertices[VerticesOfTriangularEdge[a1][0]];
-		register BamgVertex  *sb=t1->TriaVertices[VerticesOfTriangularEdge[a1][1]];
-		register BamgVertex  *s1=t1->TriaVertices[OppositeVertex[a1]];
-		register BamgVertex  *s2=t2->TriaVertices[OppositeVertex[a2]];
+		register BamgVertex  *sa=t1->vertices[VerticesOfTriangularEdge[a1][0]];
+		register BamgVertex  *sb=t1->vertices[VerticesOfTriangularEdge[a1][1]];
+		register BamgVertex  *s1=t1->vertices[OppositeVertex[a1]];
+		register BamgVertex  *s2=t2->vertices[OppositeVertex[a2]];
 
 		Icoor2 det1=t1->det , det2=t2->det ;
Index: /issm/trunk/src/c/objects/Bamg/Triangle.h
===================================================================
--- /issm/trunk/src/c/objects/Bamg/Triangle.h	(revision 5147)
+++ /issm/trunk/src/c/objects/Bamg/Triangle.h	(revision 5148)
@@ -17,7 +17,7 @@
 
 		private:
-			BamgVertex *TriaVertices[3];        // 3 vertices if t is triangle, t[i] allowed by access function, (*t)[i] if pointer
-			Triangle   *TriaAdjTriangles[3];    // 3 pointers toward the adjacent triangles
-			short       TriaAdjSharedEdge[3];   // edge id in the adjacent triangles. The edge number 1 is the edge number TriaAdjSharedEdge[1] in the Adjacent triangle 1
+			BamgVertex *vertices[3];        // 3 vertices if t is triangle, t[i] allowed by access function, (*t)[i] if pointer
+			Triangle   *adj[3];    // 3 pointers toward the adjacent triangles
+			short       AdjEdgeNumber[3];   // edge id in the adjacent triangles. The edge number 1 is the edge number AdjEdgeNumber[1] in the Adjacent triangle 1
 
 		public: 
@@ -34,8 +34,8 @@
 
 			//Operators
-			const BamgVertex & operator[](int i) const {return *TriaVertices[i];};
-			BamgVertex & operator[](int i)  {return *TriaVertices[i];};
-			const BamgVertex * operator()(int i) const {return TriaVertices[i];};
-			BamgVertex * & operator()(int i)  {return TriaVertices[i];};
+			const BamgVertex & operator[](int i) const {return *vertices[i];};
+			BamgVertex & operator[](int i)  {return *vertices[i];};
+			const BamgVertex * operator()(int i) const {return vertices[i];};
+			BamgVertex * & operator()(int i)  {return vertices[i];};
 
 			//Methods
@@ -43,74 +43,74 @@
 			int    swap(short a1,int=0);
 			long   Optim(short a,int =0);
-			int    Locked(int a)const { return TriaAdjSharedEdge[a]&4;} 
-			int    Hidden(int a)const { return TriaAdjSharedEdge[a]&16;} 
-			int    GetAllflag(int a){return TriaAdjSharedEdge[a] & 1020;}
-			void   SetAllFlag(int a,int f){TriaAdjSharedEdge[a] = (TriaAdjSharedEdge[a] &3) + (1020 & f);}
+			int    Locked(int a)const { return AdjEdgeNumber[a]&4;} 
+			int    Hidden(int a)const { return AdjEdgeNumber[a]&16;} 
+			int    GetAllflag(int a){return AdjEdgeNumber[a] & 1020;}
+			void   SetAllFlag(int a,int f){AdjEdgeNumber[a] = (AdjEdgeNumber[a] &3) + (1020 & f);}
 			double QualityQuad(int a,int option=1) const;
-			short  NuEdgeTriangleAdj(int i) const {return TriaAdjSharedEdge[i&3]&3;} // Number of the  adjacent edge in adj tria  
+			short  NuEdgeTriangleAdj(int i) const {return AdjEdgeNumber[i&3]&3;} // Number of the  adjacent edge in adj tria  
 			AdjacentTriangle FindBoundaryEdge(int i) const;
-			AdjacentTriangle Adj(int i)  const {return AdjacentTriangle(TriaAdjTriangles[i],TriaAdjSharedEdge[i]&3);};
-			Triangle* TriangleAdj(int i) const {return TriaAdjTriangles[i&3];}
+			AdjacentTriangle Adj(int i)  const {return AdjacentTriangle(adj[i],AdjEdgeNumber[i]&3);};
+			Triangle* TriangleAdj(int i) const {return adj[i&3];}
 			Triangle* Quadrangle(BamgVertex * & v0,BamgVertex * & v1,BamgVertex * & v2,BamgVertex * & v3) const ;
 			void  Renumbering(Triangle *tb,Triangle *te, long *renu){
 				if (link  >=tb && link  <te) link  = tb + renu[link -tb];
-				if (TriaAdjTriangles[0] >=tb && TriaAdjTriangles[0] <te) TriaAdjTriangles[0] = tb + renu[TriaAdjTriangles[0]-tb];
-				if (TriaAdjTriangles[1] >=tb && TriaAdjTriangles[1] <te) TriaAdjTriangles[1] = tb + renu[TriaAdjTriangles[1]-tb];
-				if (TriaAdjTriangles[2] >=tb && TriaAdjTriangles[2] <te) TriaAdjTriangles[2] = tb + renu[TriaAdjTriangles[2]-tb];    
+				if (adj[0] >=tb && adj[0] <te) adj[0] = tb + renu[adj[0]-tb];
+				if (adj[1] >=tb && adj[1] <te) adj[1] = tb + renu[adj[1]-tb];
+				if (adj[2] >=tb && adj[2] <te) adj[2] = tb + renu[adj[2]-tb];    
 			}
 			void Renumbering(BamgVertex *vb,BamgVertex *ve, long *renu){
-				if (TriaVertices[0] >=vb && TriaVertices[0] <ve) TriaVertices[0] = vb + renu[TriaVertices[0]-vb];
-				if (TriaVertices[1] >=vb && TriaVertices[1] <ve) TriaVertices[1] = vb + renu[TriaVertices[1]-vb];
-				if (TriaVertices[2] >=vb && TriaVertices[2] <ve) TriaVertices[2] = vb + renu[TriaVertices[2]-vb];    
+				if (vertices[0] >=vb && vertices[0] <ve) vertices[0] = vb + renu[vertices[0]-vb];
+				if (vertices[1] >=vb && vertices[1] <ve) vertices[1] = vb + renu[vertices[1]-vb];
+				if (vertices[2] >=vb && vertices[2] <ve) vertices[2] = vb + renu[vertices[2]-vb];    
 			}
 			void SetAdjAdj(short a){
 				a &= 3;
-				register Triangle *tt=TriaAdjTriangles[a];
-				TriaAdjSharedEdge [a] &= 55; // remove MarkUnSwap
-				register short aatt = TriaAdjSharedEdge[a] & 3;
+				register Triangle *tt=adj[a];
+				AdjEdgeNumber [a] &= 55; // remove MarkUnSwap
+				register short aatt = AdjEdgeNumber[a] & 3;
 				if(tt){ 
-					tt->TriaAdjTriangles[aatt]=this;
-					tt->TriaAdjSharedEdge[aatt]=a + (TriaAdjSharedEdge[a] & 60 ) ;}// Copy all the mark 
+					tt->adj[aatt]=this;
+					tt->AdjEdgeNumber[aatt]=a + (AdjEdgeNumber[a] & 60 ) ;}// Copy all the mark 
 			  }
 			void SetAdj2(short a,Triangle *t,short aat){
-				TriaAdjTriangles[a]=t;    //the adjacent triangle to the edge a is t
-				TriaAdjSharedEdge[a]=aat; //position of the edge in the adjacent triangle
+				adj[a]=t;    //the adjacent triangle to the edge a is t
+				AdjEdgeNumber[a]=aat; //position of the edge in the adjacent triangle
 				if(t) { //if t!=NULL add adjacent triangle to t (this)
-					t->TriaAdjTriangles[aat]=this;
-					t->TriaAdjSharedEdge[aat]=a;
+					t->adj[aat]=this;
+					t->AdjEdgeNumber[aat]=a;
 				}
 			}
 			void SetSingleVertexToTriangleConnectivity() { 
-				if (TriaVertices[0]) (TriaVertices[0]->t=this,TriaVertices[0]->vint=0);
-				if (TriaVertices[1]) (TriaVertices[1]->t=this,TriaVertices[1]->vint=1);
-				if (TriaVertices[2]) (TriaVertices[2]->t=this,TriaVertices[2]->vint=2);
+				if (vertices[0]) (vertices[0]->t=this,vertices[0]->vint=0);
+				if (vertices[1]) (vertices[1]->t=this,vertices[1]->vint=1);
+				if (vertices[2]) (vertices[2]->t=this,vertices[2]->vint=2);
 			}
 			void SetHidden(int a){
 				//Get Adjacent Triangle number a
-				register Triangle* t = TriaAdjTriangles[a];
+				register Triangle* t = adj[a];
 				//if it exist
 				//C|=D -> C=(C|D) bitwise inclusive OR
-				if(t) t->TriaAdjSharedEdge[TriaAdjSharedEdge[a] & 3] |=16;
-				TriaAdjSharedEdge[a] |= 16;
+				if(t) t->AdjEdgeNumber[AdjEdgeNumber[a] & 3] |=16;
+				AdjEdgeNumber[a] |= 16;
 			}
 
 			void SetLocked(int a){
 				//mark the edge as on Boundary
-				register Triangle * t = TriaAdjTriangles[a];
-				t->TriaAdjSharedEdge[TriaAdjSharedEdge[a] & 3] |=4;
-				TriaAdjSharedEdge[a] |= 4;
+				register Triangle * t = adj[a];
+				t->AdjEdgeNumber[AdjEdgeNumber[a] & 3] |=4;
+				AdjEdgeNumber[a] |= 4;
 			}
 			void SetMarkUnSwap(int a){
-				register Triangle * t = TriaAdjTriangles[a];
-				t->TriaAdjSharedEdge[TriaAdjSharedEdge[a] & 3] |=8;
-				TriaAdjSharedEdge[a] |=8 ;
+				register Triangle * t = adj[a];
+				t->AdjEdgeNumber[AdjEdgeNumber[a] & 3] |=8;
+				AdjEdgeNumber[a] |=8 ;
 			}
 			void SetUnMarkUnSwap(int a){ 
-				register Triangle * t = TriaAdjTriangles[a];
-				t->TriaAdjSharedEdge[TriaAdjSharedEdge[a] & 3] &=55; // 23 + 32 
-				TriaAdjSharedEdge[a] &=55 ;
+				register Triangle * t = adj[a];
+				t->AdjEdgeNumber[AdjEdgeNumber[a] & 3] &=55; // 23 + 32 
+				AdjEdgeNumber[a] &=55 ;
 			}
 			void SetDet() {
-				if(TriaVertices[0] && TriaVertices[1] && TriaVertices[2])    det = bamg::det(*TriaVertices[0],*TriaVertices[1],*TriaVertices[2]);
+				if(vertices[0] && vertices[1] && vertices[2])    det = bamg::det(*vertices[0],*vertices[1],*vertices[2]);
 				else det = -1; }
 
@@ -118,5 +118,5 @@
 			double qualite() ;
 			void  Set(const Triangle &,const Mesh &,Mesh &);
-			int   In(BamgVertex *v) const { return TriaVertices[0]==v || TriaVertices[1]==v || TriaVertices[2]==v ;}
+			int   In(BamgVertex *v) const { return vertices[0]==v || vertices[1]==v || vertices[2]==v ;}
 
 	};
Index: /issm/trunk/src/c/objects/Bamg/VertexOnEdge.h
===================================================================
--- /issm/trunk/src/c/objects/Bamg/VertexOnEdge.h	(revision 5147)
+++ /issm/trunk/src/c/objects/Bamg/VertexOnEdge.h	(revision 5148)
@@ -29,5 +29,5 @@
 
 			//Methods
-			void SetOnBTh(){v->onBackgroundEdge=this;v->vint=IsVertexOnEdge;}  
+			void SetOnBTh(){v->BackgroundEdgeHook=this;v->vint=IsVertexOnEdge;}  
 			void Set(const Mesh &,long,Mesh &);  
 	};
Index: /issm/trunk/src/c/objects/Bamg/VertexOnGeom.h
===================================================================
--- /issm/trunk/src/c/objects/Bamg/VertexOnGeom.h	(revision 5147)
+++ /issm/trunk/src/c/objects/Bamg/VertexOnGeom.h	(revision 5148)
@@ -38,5 +38,5 @@
 			int  OnGeomEdge() const {return this? abscisse >=0 :0;}
 			int  IsRequiredVertex() {return this? ((abscisse<0 ? (gv?gv->Required():0):0 )) : 0;}
-			void SetOn(){mv->onGeometry=this;mv->vint=IsVertexOnGeom;}
+			void SetOn(){mv->GeometricalEdgeHook=this;mv->vint=IsVertexOnGeom;}
 
 			//Inline methods
Index: /issm/trunk/src/c/objects/Bamg/VertexOnVertex.h
===================================================================
--- /issm/trunk/src/c/objects/Bamg/VertexOnVertex.h	(revision 5147)
+++ /issm/trunk/src/c/objects/Bamg/VertexOnVertex.h	(revision 5148)
@@ -21,5 +21,5 @@
 
 			//Methods
-			void SetOnBTh(){v->onBackgroundVertex=bv;v->vint=IsVertexOnVertex;}
+			void SetOnBTh(){v->BackgroundVertexHook=bv;v->vint=IsVertexOnVertex;}
 			void Set(const Mesh &,long,Mesh &);
 	};
