Index: /issm/trunk/src/c/objects/Bamg/AdjacentTriangle.cpp
===================================================================
--- /issm/trunk/src/c/objects/Bamg/AdjacentTriangle.cpp	(revision 5400)
+++ /issm/trunk/src/c/objects/Bamg/AdjacentTriangle.cpp	(revision 5401)
@@ -16,10 +16,10 @@
 	/*FUNCTION AdjacentTriangle::Locked {{{1*/
 	int  AdjacentTriangle::Locked() const {
-		return t->AdjEdgeNumber[a] & 4;
+		return t->AdjEdgeIndex[a] & 4;
 	}
 	/*}}}*/
 	/*FUNCTION AdjacentTriangle::MarkUnSwap {{{1*/
 	int  AdjacentTriangle::MarkUnSwap() const {
-		return t->AdjEdgeNumber[a] & 8;
+		return t->AdjEdgeIndex[a] & 8;
 	}
 	/*}}}*/
@@ -27,5 +27,5 @@
 	int  AdjacentTriangle::GetAllFlag_UnSwap() const {
 		// take all flag except MarkUnSwap
-		return t->AdjEdgeNumber[a] & 1012;
+		return t->AdjEdgeIndex[a] & 1012;
 	}
 	/*}}}*/
@@ -65,9 +65,9 @@
 		if(t) {
 			t->adj[a]=ta.t;
-			t->AdjEdgeNumber[a]=ta.a|l;
+			t->AdjEdgeIndex[a]=ta.a|l;
 		}
 		if(ta.t) {
 			ta.t->adj[ta.a] = t ;
-			ta.t->AdjEdgeNumber[ta.a] = a| l ;
+			ta.t->AdjEdgeIndex[ta.a] = a| l ;
 		}
 	}
Index: /issm/trunk/src/c/objects/Bamg/Curve.cpp
===================================================================
--- /issm/trunk/src/c/objects/Bamg/Curve.cpp	(revision 5400)
+++ /issm/trunk/src/c/objects/Bamg/Curve.cpp	(revision 5401)
@@ -16,5 +16,4 @@
 		FirstVertexIndex=0;
 		LastVertexIndex=0;
-		next=NULL;
 	} 
 	/*}}}*/
@@ -33,5 +32,4 @@
 		FirstEdge = GhNew.edges + Gh.GetId(FirstEdge);    
 		LastEdge = GhNew.edges + Gh.GetId(LastEdge); 
-		if(next) next= GhNew.curves + Gh.GetId(next); 
 	}
 	/*}}}*/
Index: /issm/trunk/src/c/objects/Bamg/Curve.h
===================================================================
--- /issm/trunk/src/c/objects/Bamg/Curve.h	(revision 5400)
+++ /issm/trunk/src/c/objects/Bamg/Curve.h	(revision 5401)
@@ -17,5 +17,4 @@
 			int FirstVertexIndex;       //Last vertex index in the last edge
 			int LastVertexIndex;        //First Vertex index in the first edge
-			Curve* next; // next curve equi to this
 
 			//Methods
Index: /issm/trunk/src/c/objects/Bamg/GeometricalEdge.h
===================================================================
--- /issm/trunk/src/c/objects/Bamg/GeometricalEdge.h	(revision 5400)
+++ /issm/trunk/src/c/objects/Bamg/GeometricalEdge.h	(revision 5401)
@@ -18,5 +18,5 @@
 			R2                 tg[2];              // the 2 tangentes (tg[0] =0 => no continuity)
 			GeometricalEdge   *Adj[2];
-			int                AdjVertexNumber[2]; // for a given vertex, this gives the index of the vertex in the adjacent edge (0 or 1)
+			int                AdjVertexIndex[2]; // for a given vertex, this gives the index of the vertex in the adjacent edge (0 or 1)
 			int                type;
 
Index: /issm/trunk/src/c/objects/Bamg/Geometry.cpp
===================================================================
--- /issm/trunk/src/c/objects/Bamg/Geometry.cpp	(revision 5400)
+++ /issm/trunk/src/c/objects/Bamg/Geometry.cpp	(revision 5401)
@@ -151,5 +151,5 @@
 				edges[i].tg[0]=zerovector;
 				edges[i].tg[1]=zerovector;
-				edges[i].AdjVertexNumber[0] = edges[i].AdjVertexNumber[1] = -1;
+				edges[i].AdjVertexIndex[0] = edges[i].AdjVertexIndex[1] = -1;
 				edges[i].Adj[0] = edges[i].Adj[1] = NULL;
 				edges[i].type = 0;
@@ -697,5 +697,5 @@
 
 				edges[i1].Adj[j1] = edges + i;
-				edges[i1].AdjVertexNumber[j1] = j;
+				edges[i1].AdjVertexIndex[j1] = j;
 			}
 		}
@@ -719,5 +719,5 @@
 						 * previous and next vertices connected to current vertex
 						 * normed by the edge length*/
-						tg = edges[i].v[1-j]->r - edges[i].Adj[j]->v[1-edges[i].AdjVertexNumber[j]]->r;
+						tg = edges[i].v[1-j]->r - edges[i].Adj[j]->v[1-edges[i].AdjVertexIndex[j]]->r;
 						ltg= Norme2(tg);
 						tg = tg *(lAB/ltg);
@@ -786,5 +786,5 @@
 								//else: go to next edge (adjacent)
 								else{
-									k0 = e->AdjVertexNumber[k1];//  vertex in next edge
+									k0 = e->AdjVertexIndex[k1];//  vertex in next edge
 									e  = e->Adj[k1]; // next edge
 								}
@@ -873,5 +873,5 @@
 			ge[--bge] =eg0 = eg0->Adj[direction0];
 			ISSMASSERT(bge>=0 && bge<=mxe);
-			direction0 = 1-( directionge[bge] = tmpge->AdjVertexNumber[direction0]);
+			direction0 = 1-( directionge[bge] = tmpge->AdjVertexIndex[direction0]);
 		}
 		while (eg1 != (GeometricalEdge*) vg1  &&  (*eg1)(direction1) != (GeometricalVertex*) vg1) { 
@@ -889,5 +889,5 @@
 			GeometricalEdge* tmpge = eg1;
 			ge[++tge] =eg1 = eg1->Adj[direction1];
-			directionge[tge]= direction1 = 1-tmpge->AdjVertexNumber[direction1];
+			directionge[tge]= direction1 = 1-tmpge->AdjVertexIndex[direction1];
 			ISSMASSERT(tge>=0 && tge<=mxe);
 		}
Index: /issm/trunk/src/c/objects/Bamg/Mesh.cpp
===================================================================
--- /issm/trunk/src/c/objects/Bamg/Mesh.cpp	(revision 5400)
+++ /issm/trunk/src/c/objects/Bamg/Mesh.cpp	(revision 5401)
@@ -5110,5 +5110,5 @@
 									if (b->Required() ) break;
 									int kprev=k;
-									k = e->AdjVertexNumber[kprev];// next vertices
+									k = e->AdjVertexIndex[kprev];// next vertices
 									e = e->Adj[kprev];
 									ISSMASSERT(e);
@@ -5329,129 +5329,128 @@
 				for(int phase=0;phase<=step;phase++){
 
-					/*Loop over all curves from icurve till the last curve*/
-					for(Curve *curve= Gh.curves+icurve;curve;curve= curve->next){
-
-						/*Get index of current curve*/
-						int icurveequi= Gh.GetId(curve);
-
-						/*For phase 0, check that we are at the begining of the curve only*/
-						if(phase==0 &&  icurveequi!=icurve)  continue;
-
-						int   k0=jedge,k1;
-						Edge* pe=  BTh.edges+iedge;
-						int   iedgeequi=bcurve[icurveequi]/2;
-						int   jedgeequi=bcurve[icurveequi]%2;
-
-						int k0equi=jedgeequi,k1equi;		  
-						Edge * peequi= BTh.edges+iedgeequi;
-						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].GeometricalEdgeHook;
-						BamgVertex *A0;
-						A0 = GA0->to;  // the vertex in new mesh
-						BamgVertex *A1;
-						VertexOnGeom *GA1;
-						Edge* PreviousNewEdge = 0;
-
-						// New Curve phase 
-						ISSMASSERT(A0-vertices>=0 && A0-vertices<nbv);
-						if(ongequi->Required()){
-							GeometricalVertex *GA1 = *(*peequi)[1-k0equi].GeometricalEdgeHook;
-							A1 = GA1->to;  //
-						}       
-						else {
-							for(;;){
-								Edge &ee=*pe; 
-								Edge &eeequi=*peequi; 
-								k1 = 1-k0; // next vertex of the edge 
-								k1equi= 1 - k0equi;
-								ISSMASSERT(pe && ee.GeometricalEdgeHook);
-								ee.GeometricalEdgeHook->SetMark();
-								BamgVertex & v0=ee[0], & v1=ee[1];
-								R2 AB=(R2)v1-(R2)v0;
-								double L0=L,LAB;
-								LAB=LengthInterpole(v0.m,v1.m,AB);
-								L+= LAB;
-
-								if (phase){
-									// computation of the new points for the given curve
-									while ((i!=NbCreatePointOnCurve) && sNew<=L) { 
-
-										//some checks
-										ISSMASSERT(sNew>=L0);
-										ISSMASSERT(LAB);
-										ISSMASSERT(vertices && nbv<maxnbv);
-										ISSMASSERT(edges && nbe<nbex);
-										ISSMASSERT(VerticesOnGeomEdge && NbVerticesOnGeomEdge<NbVerticesOnGeomEdgex);
-
-										// new vertex on edge
-										A1=vertices+nbv++;
-										GA1=VerticesOnGeomEdge+NbVerticesOnGeomEdge;
-										Edge* e = edges + nbe++;
-										double se= (sNew-L0)/LAB;
-										if (se<0 || se>=1.000000001){
-											ISSMERROR("Problem creating point on a boundary: se=%g should be in [0 1]",se);
-										}
-										se = abscisseInterpole(v0.m,v1.m,AB,se,1);
-										if (se<0 || se>1){
-											ISSMERROR("Problem creating point on a boundary: se=%g should be in [0 1]",se);
-										}
-										se = k1         ? se : 1. - se;
-										se = k1==k1equi ? se : 1. - se;
-										VertexOnBThEdge[NbVerticesOnGeomEdge++] = VertexOnEdge(A1,&eeequi,se); // save 
-										ongequi=Gh.ProjectOnCurve(eeequi,se,*A1,*GA1); 
-										A1->ReferenceNumber = eeequi.ReferenceNumber;
-										A1->DirOfSearch =NoDirOfSearch;
-										e->GeometricalEdgeHook = ongequi;
-										e->v[0]=A0;
-										e->v[1]=A1;
-										e->ReferenceNumber = eeequi.ReferenceNumber;
-										e->adj[0]=PreviousNewEdge;
-
-										if (PreviousNewEdge) PreviousNewEdge->adj[1]=e;
-										PreviousNewEdge=e;
-										A0=A1;
-										sNew += Lstep;
-										if (++i== NbCreatePointOnCurve) break;
+					/*Current curve pointer*/
+					Curve *curve= Gh.curves+icurve;
+
+					/*Get index of current curve*/
+					int icurveequi= Gh.GetId(curve);
+
+					/*For phase 0, check that we are at the begining of the curve only*/
+					if(phase==0 &&  icurveequi!=icurve)  continue;
+
+					int   k0=jedge,k1;
+					Edge* pe=  BTh.edges+iedge;
+					int   iedgeequi=bcurve[icurveequi]/2;
+					int   jedgeequi=bcurve[icurveequi]%2;
+
+					int k0equi=jedgeequi,k1equi;		  
+					Edge * peequi= BTh.edges+iedgeequi;
+					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].GeometricalEdgeHook;
+					BamgVertex *A0;
+					A0 = GA0->to;  // the vertex in new mesh
+					BamgVertex *A1;
+					VertexOnGeom *GA1;
+					Edge* PreviousNewEdge = 0;
+
+					// New Curve phase 
+					ISSMASSERT(A0-vertices>=0 && A0-vertices<nbv);
+					if(ongequi->Required()){
+						GeometricalVertex *GA1 = *(*peequi)[1-k0equi].GeometricalEdgeHook;
+						A1 = GA1->to;  //
+					}       
+					else {
+						for(;;){
+							Edge &ee=*pe; 
+							Edge &eeequi=*peequi; 
+							k1 = 1-k0; // next vertex of the edge 
+							k1equi= 1 - k0equi;
+							ISSMASSERT(pe && ee.GeometricalEdgeHook);
+							ee.GeometricalEdgeHook->SetMark();
+							BamgVertex & v0=ee[0], & v1=ee[1];
+							R2 AB=(R2)v1-(R2)v0;
+							double L0=L,LAB;
+							LAB=LengthInterpole(v0.m,v1.m,AB);
+							L+= LAB;
+
+							if (phase){
+								// computation of the new points for the given curve
+								while ((i!=NbCreatePointOnCurve) && sNew<=L) { 
+
+									//some checks
+									ISSMASSERT(sNew>=L0);
+									ISSMASSERT(LAB);
+									ISSMASSERT(vertices && nbv<maxnbv);
+									ISSMASSERT(edges && nbe<nbex);
+									ISSMASSERT(VerticesOnGeomEdge && NbVerticesOnGeomEdge<NbVerticesOnGeomEdgex);
+
+									// new vertex on edge
+									A1=vertices+nbv++;
+									GA1=VerticesOnGeomEdge+NbVerticesOnGeomEdge;
+									Edge* e = edges + nbe++;
+									double se= (sNew-L0)/LAB;
+									if (se<0 || se>=1.000000001){
+										ISSMERROR("Problem creating point on a boundary: se=%g should be in [0 1]",se);
 									}
+									se = abscisseInterpole(v0.m,v1.m,AB,se,1);
+									if (se<0 || se>1){
+										ISSMERROR("Problem creating point on a boundary: se=%g should be in [0 1]",se);
+									}
+									se = k1         ? se : 1. - se;
+									se = k1==k1equi ? se : 1. - se;
+									VertexOnBThEdge[NbVerticesOnGeomEdge++] = VertexOnEdge(A1,&eeequi,se); // save 
+									ongequi=Gh.ProjectOnCurve(eeequi,se,*A1,*GA1); 
+									A1->ReferenceNumber = eeequi.ReferenceNumber;
+									A1->DirOfSearch =NoDirOfSearch;
+									e->GeometricalEdgeHook = ongequi;
+									e->v[0]=A0;
+									e->v[1]=A1;
+									e->ReferenceNumber = eeequi.ReferenceNumber;
+									e->adj[0]=PreviousNewEdge;
+
+									if (PreviousNewEdge) PreviousNewEdge->adj[1]=e;
+									PreviousNewEdge=e;
+									A0=A1;
+									sNew += Lstep;
+									if (++i== NbCreatePointOnCurve) break;
 								}
-
-								//some checks
-								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);
-									break;
-								}
-								if (!ee.adj[k1]) {
-									ISSMERROR(" adj edge %i, nbe=%i, Gh.vertices=%i",BTh.GetId(ee),nbe,Gh.vertices);
-								}
-								pe = ee.adj[k1]; // next edge
-								k0 = pe->Intersection(ee); 
-								peequi= eeequi.adj[k1equi];  // next edge
-								k0equi=peequi->Intersection(eeequi);            
-							}// for(;;) end of the curve
-						}
-
-
-						if (phase){ // construction of the last edge
-							Edge* e=edges + nbe++;
-							e->GeometricalEdgeHook  = ongequi;
-							e->v[0]=A0;
-							e->v[1]=A1;
-							e->ReferenceNumber = peequi->ReferenceNumber;
-							e->adj[0]=PreviousNewEdge;
-							e->adj[1]=0;
-							if (PreviousNewEdge) PreviousNewEdge->adj[1]=e;
-							PreviousNewEdge = e;
-
-							ISSMASSERT(i==NbCreatePointOnCurve);
-						}
-					} //  end loop on equi curve 
+							}
+
+							//some checks
+							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);
+								break;
+							}
+							if (!ee.adj[k1]) {
+								ISSMERROR(" adj edge %i, nbe=%i, Gh.vertices=%i",BTh.GetId(ee),nbe,Gh.vertices);
+							}
+							pe = ee.adj[k1]; // next edge
+							k0 = pe->Intersection(ee); 
+							peequi= eeequi.adj[k1equi];  // next edge
+							k0equi=peequi->Intersection(eeequi);            
+						}// for(;;) end of the curve
+					}
+
+
+					if (phase){ // construction of the last edge
+						Edge* e=edges + nbe++;
+						e->GeometricalEdgeHook  = ongequi;
+						e->v[0]=A0;
+						e->v[1]=A1;
+						e->ReferenceNumber = peequi->ReferenceNumber;
+						e->adj[0]=PreviousNewEdge;
+						e->adj[1]=0;
+						if (PreviousNewEdge) PreviousNewEdge->adj[1]=e;
+						PreviousNewEdge = e;
+
+						ISSMASSERT(i==NbCreatePointOnCurve);
+					}
 
 					if (!phase)  { // 
@@ -5460,9 +5459,6 @@
 						Lcurve = L;
 						NbCreatePointOnCurve = NbSegOnCurve-1;
-
-						for(Curve * curve= Gh.curves+icurve;curve;curve= curve->next){
-							NbOfNewEdge += NbSegOnCurve;
-							NbOfNewPoints += NbCreatePointOnCurve;
-						}
+						NbOfNewEdge += NbSegOnCurve;
+						NbOfNewPoints += NbCreatePointOnCurve;
 					}
 				}
Index: /issm/trunk/src/c/objects/Bamg/Mesh.h
===================================================================
--- /issm/trunk/src/c/objects/Bamg/Mesh.h	(revision 5400)
+++ /issm/trunk/src/c/objects/Bamg/Mesh.h	(revision 5401)
@@ -170,5 +170,5 @@
 	}
 	inline void Adj(GeometricalEdge * & on,int &i){
-		int j=i;i=on->AdjVertexNumber[i];on=on->Adj[j];
+		int j=i;i=on->AdjVertexIndex[i];on=on->Adj[j];
 	}
 	inline double qualite(const BamgVertex &va,const BamgVertex &vb,const BamgVertex &vc){
Index: /issm/trunk/src/c/objects/Bamg/Triangle.cpp
===================================================================
--- /issm/trunk/src/c/objects/Bamg/Triangle.cpp	(revision 5400)
+++ /issm/trunk/src/c/objects/Bamg/Triangle.cpp	(revision 5401)
@@ -23,5 +23,5 @@
 		vertices[2]=v+k;
 		adj[0]=adj[1]=adj[2]=0;
-		AdjEdgeNumber[0]=AdjEdgeNumber[1]=AdjEdgeNumber[2]=0;
+		AdjEdgeIndex[0]=AdjEdgeIndex[1]=AdjEdgeIndex[2]=0;
 		det=0;
 	}
@@ -33,5 +33,5 @@
 		vertices[2]=v2;
 		adj[0]=adj[1]=adj[2]=0;
-		AdjEdgeNumber[0]=AdjEdgeNumber[1]=AdjEdgeNumber[2]=0;
+		AdjEdgeIndex[0]=AdjEdgeIndex[1]=AdjEdgeIndex[2]=0;
 		if (v0) det=0;
 		else {
@@ -44,5 +44,5 @@
 	/*FUNCTION Triangle::Adj{{{1*/
 	AdjacentTriangle Triangle::Adj(int i)  const {
-		return AdjacentTriangle(adj[i],AdjEdgeNumber[i]&3);
+		return AdjacentTriangle(adj[i],AdjEdgeIndex[i]&3);
 	};/*}}}*/
 	/*FUNCTION Triangle::Echo {{{1*/
@@ -112,5 +112,5 @@
 			t = ttc;
 			//NextEdge[3] = {1,2,0};
-			jc = NextEdge[t->AdjEdgeNumber[j]&3];
+			jc = NextEdge[t->AdjEdgeIndex[j]&3];
 			j = NextEdge[jc];
 
@@ -126,18 +126,18 @@
 	/*FUNCTION Triangle::GetAllflag{{{1*/
 	int    Triangle::GetAllflag(int a){
-		return AdjEdgeNumber[a] & 1020;
+		return AdjEdgeIndex[a] & 1020;
 	}/*}}}*/
 	/*FUNCTION Triangle::Hidden{{{1*/
 	int    Triangle::Hidden(int a)const {
-		return AdjEdgeNumber[a]&16;
+		return AdjEdgeIndex[a]&16;
 	} /*}}}*/
 	/*FUNCTION Triangle::Locked{{{1*/
 	int    Triangle::Locked(int a)const {
-		return AdjEdgeNumber[a]&4;
+		return AdjEdgeIndex[a]&4;
 	} /*}}}*/
 	/*FUNCTION Triangle::NuEdgeTriangleAdj{{{1*/
 	short  Triangle::NuEdgeTriangleAdj(int i) const {
 		/*Number of the  adjacent edge in adj tria (make sure it is between 0 and 2*/
-		return AdjEdgeNumber[i&3]&3;
+		return AdjEdgeIndex[i&3]&3;
 	}/*}}}*/
 	/*FUNCTION Triangle::Optim{{{1*/
@@ -154,5 +154,5 @@
 		// initialize tp, jp the previous triangle & edge
 		Triangle *tp=adj[jp];
-		jp = AdjEdgeNumber[jp]&3;
+		jp = AdjEdgeIndex[jp]&3;
 		do {
 			while (t->swap(j,koption)){
@@ -161,5 +161,5 @@
 				k++;
 				t=  tp->adj[jp];      // set unchange t qnd j for previous triangles
-				j=  NextEdge[tp->AdjEdgeNumber[jp]&3];
+				j=  NextEdge[tp->AdjEdgeIndex[jp]&3];
 			}
 			// end on this  Triangle 
@@ -168,5 +168,5 @@
 
 			t=  tp->adj[jp];      // set unchange t qnd j for previous triangles
-			j=  NextEdge[tp->AdjEdgeNumber[jp]&3];
+			j=  NextEdge[tp->AdjEdgeIndex[jp]&3];
 
 		} while( t != this);
@@ -180,7 +180,7 @@
 		if (link) {
 			int a=-1;
-			if (AdjEdgeNumber[0] & 16 ) a=0;
-			if (AdjEdgeNumber[1] & 16 ) a=1;
-			if (AdjEdgeNumber[2] & 16 ) a=2;
+			if (AdjEdgeIndex[0] & 16 ) a=0;
+			if (AdjEdgeIndex[1] & 16 ) a=1;
+			if (AdjEdgeIndex[2] & 16 ) a=2;
 			if (a>=0) {
 				t = adj[a];
@@ -189,5 +189,5 @@
 				v0 = vertices[VerticesOfTriangularEdge[a][1]];
 				v1 = vertices[OppositeEdge[a]];
-				v3 = t->vertices[OppositeEdge[AdjEdgeNumber[a]&3]];
+				v3 = t->vertices[OppositeEdge[AdjEdgeIndex[a]&3]];
 			}
 		}
@@ -198,5 +198,5 @@
 	double   Triangle::QualityQuad(int a,int option) const{
 		double q;
-		if (!link || AdjEdgeNumber[a] &4)
+		if (!link || AdjEdgeIndex[a] &4)
 		 q=  -1;
 		else {
@@ -204,5 +204,5 @@
 			if (t-this<0) q=  -1;// because we do 2 times 
 			else if (!t->link ) q=  -1;
-			else if (AdjEdgeNumber[0] & 16 || AdjEdgeNumber[1] & 16  || AdjEdgeNumber[2] & 16 || t->AdjEdgeNumber[0] & 16 || t->AdjEdgeNumber[1] & 16 || t->AdjEdgeNumber[2] & 16 )
+			else if (AdjEdgeIndex[0] & 16 || AdjEdgeIndex[1] & 16  || AdjEdgeIndex[2] & 16 || t->AdjEdgeIndex[0] & 16 || t->AdjEdgeIndex[1] & 16 || t->AdjEdgeIndex[2] & 16 )
 			 q= -1;
 			else if(option){ 
@@ -210,5 +210,5 @@
 				const BamgVertex & v0 = *vertices[VerticesOfTriangularEdge[a][1]];
 				const BamgVertex & v1 = *vertices[OppositeEdge[a]];
-				const BamgVertex & v3 = * t->vertices[OppositeEdge[AdjEdgeNumber[a]&3]];
+				const BamgVertex & v3 = * t->vertices[OppositeEdge[AdjEdgeIndex[a]&3]];
 				q =  QuadQuality(v0,v1,v2,v3); // do the float part
 			}
@@ -250,9 +250,9 @@
 		a &= 3;
 		register Triangle *tt=adj[a];
-		AdjEdgeNumber [a] &= 55; // remove MarkUnSwap
-		register short aatt = AdjEdgeNumber[a] & 3;
+		AdjEdgeIndex [a] &= 55; // remove MarkUnSwap
+		register short aatt = AdjEdgeIndex[a] & 3;
 		if(tt){ 
 			tt->adj[aatt]=this;
-			tt->AdjEdgeNumber[aatt]=a + (AdjEdgeNumber[a] & 60 ) ;
+			tt->AdjEdgeIndex[aatt]=a + (AdjEdgeIndex[a] & 60 ) ;
 		}
 	}/*}}}*/
@@ -260,13 +260,13 @@
 	void Triangle::SetAdj2(short a,Triangle *t,short aat){
 		adj[a]=t;    //the adjacent triangle to the edge a is t
-		AdjEdgeNumber[a]=aat; //position of the edge in the adjacent triangle
+		AdjEdgeIndex[a]=aat; //position of the edge in the adjacent triangle
 		if(t) { //if t!=NULL add adjacent triangle to t (this)
 			t->adj[aat]=this;
-			t->AdjEdgeNumber[aat]=a;
+			t->AdjEdgeIndex[aat]=a;
 		}
 	}/*}}}*/
 	/*FUNCTION Triangle::SetAllFlag{{{1*/
 	void   Triangle::SetAllFlag(int a,int f){
-		AdjEdgeNumber[a] = (AdjEdgeNumber[a] &3) + (1020 & f);
+		AdjEdgeIndex[a] = (AdjEdgeIndex[a] &3) + (1020 & f);
 	}/*}}}*/
 	/*FUNCTION Triangle::SetDet{{{1*/
@@ -281,6 +281,6 @@
 		//if it exist
 		//C|=D -> C=(C|D) bitwise inclusive OR
-		if(t) t->AdjEdgeNumber[AdjEdgeNumber[a] & 3] |=16;
-		AdjEdgeNumber[a] |= 16;
+		if(t) t->AdjEdgeIndex[AdjEdgeIndex[a] & 3] |=16;
+		AdjEdgeIndex[a] |= 16;
 	}/*}}}*/
 	/*FUNCTION Triangle::SetLocked{{{1*/
@@ -288,12 +288,12 @@
 		//mark the edge as on Boundary
 		register Triangle * t = adj[a];
-		t->AdjEdgeNumber[AdjEdgeNumber[a] & 3] |=4;
-		AdjEdgeNumber[a] |= 4;
+		t->AdjEdgeIndex[AdjEdgeIndex[a] & 3] |=4;
+		AdjEdgeIndex[a] |= 4;
 	}/*}}}*/
 	/*FUNCTION Triangle::SetMarkUnSwap{{{1*/
 	void Triangle::SetMarkUnSwap(int a){
 		register Triangle * t = adj[a];
-		t->AdjEdgeNumber[AdjEdgeNumber[a] & 3] |=8;
-		AdjEdgeNumber[a] |=8 ;
+		t->AdjEdgeIndex[AdjEdgeIndex[a] & 3] |=8;
+		AdjEdgeIndex[a] |=8 ;
 	}/*}}}*/
 	/*FUNCTION Triangle::SetSingleVertexToTriangleConnectivity{{{1*/
@@ -306,6 +306,6 @@
 	void Triangle::SetUnMarkUnSwap(int a){ 
 		register Triangle * t = adj[a];
-		t->AdjEdgeNumber[AdjEdgeNumber[a] & 3] &=55; // 23 + 32 
-		AdjEdgeNumber[a] &=55 ;
+		t->AdjEdgeIndex[AdjEdgeIndex[a] & 3] &=55; // 23 + 32 
+		AdjEdgeIndex[a] &=55 ;
 	}/*}}}*/
 	/*FUNCTION Triangle::swap{{{1*/
@@ -316,5 +316,5 @@
 
 		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
+		register short a1=a,a2=AdjEdgeIndex[a];// les 2 numero de l arete dans les 2 triangles
 		if(a2/4 !=0) return 0; // arete lock or MarkUnSwap
 
Index: /issm/trunk/src/c/objects/Bamg/Triangle.h
===================================================================
--- /issm/trunk/src/c/objects/Bamg/Triangle.h	(revision 5400)
+++ /issm/trunk/src/c/objects/Bamg/Triangle.h	(revision 5401)
@@ -19,5 +19,5 @@
 			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
+			short       AdjEdgeIndex[3];   // edge id in the adjacent triangles. The edge number 1 is the edge number AdjEdgeIndex[1] in the Adjacent triangle 1
 
 		public: 
