Index: /issm/trunk/src/c/Bamgx/objects/Edge.cpp
===================================================================
--- /issm/trunk/src/c/Bamgx/objects/Edge.cpp	(revision 3565)
+++ /issm/trunk/src/c/Bamgx/objects/Edge.cpp	(revision 3566)
@@ -24,4 +24,13 @@
 	}
 	/*}}}*/
+	/*FUNCTION Edge::Echo {{{1*/
+	void Edge::Echo(void){ 
+		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("   two adjacent edges on the same curve: %p %p\n",adj[0],adj[1]);
+	}
+	/*}}}*/
 
 } 
Index: /issm/trunk/src/c/Bamgx/objects/Edge.h
===================================================================
--- /issm/trunk/src/c/Bamgx/objects/Edge.h	(revision 3565)
+++ /issm/trunk/src/c/Bamgx/objects/Edge.h	(revision 3566)
@@ -47,4 +47,5 @@
 			}
 			void Set(const Triangles &,long,Triangles &);
+			void Echo(void);
 
 	};
Index: /issm/trunk/src/c/Bamgx/objects/Triangles.cpp
===================================================================
--- /issm/trunk/src/c/Bamgx/objects/Triangles.cpp	(revision 3565)
+++ /issm/trunk/src/c/Bamgx/objects/Triangles.cpp	(revision 3566)
@@ -275,4 +275,5 @@
 			vertices[i].DirOfSearch =NoDirOfSearch;
 			vertices[i].m=M1;
+			vertices[i].color=0;
 		}
 		nbtx=2*nbvx-2; // for filling The Holes and quadrilaterals 
@@ -288,5 +289,5 @@
 			i3=(long)index[i*3+2]-1; //for C indexing
 			t=Triangle(this,i1,i2,i3);
-			t.color=i;
+			t.color=1;
 		}
 
@@ -1314,5 +1315,5 @@
 					triangles[i].SetAdj2(j,triangles + st[k] / 3,(int) (st[k]%3));
 					if (invisible)  triangles[i].SetHidden(j);
-					// if k < nbe mark the adge as on Boundary (Locked)
+					// if k < nbe mark the edge as on Boundary (Locked)
 					if (k<nbe) {
 						triangles[i].SetLocked(j);
@@ -1384,6 +1385,5 @@
 					j  =  (int) ((-2-st[i])%3);
 					Triangle & tt = * triangles[it].TriangleAdj(j);
-					if (triangles[it].color !=  tt.color || i < nbeold)
-					 add=k++;
+					if (triangles[it].color !=  tt.color || i < nbeold) add=k++;
 				}
 				//boundary edge
@@ -1396,9 +1396,10 @@
 					edges[add].v[0] = &triangles[it][VerticesOfTriangularEdge[j][0]];
 					edges[add].v[1] = &triangles[it][VerticesOfTriangularEdge[j][1]];
-					edges[add].onGeometry=0; 
+					edges[add].onGeometry=NULL; 
 					//if already existed
 					if (i<nbeold){
 						edges[add].ref=edgessave[i].ref; 		      
 						edges[add].onGeometry=edgessave[i].onGeometry; //  HACK to get required edges
+						printf("oh no...\n");
 					}
 					else
@@ -1553,5 +1554,5 @@
 		 for ( j=0;j<2;j++) colorV[Number(edges[i][j])]=0;
 		}
-		//number the vertices nelonging to edges
+		//number the vertices belonging to edges
 		k=0;
 		for (i=0;i<nbv;i++){
