Index: /issm/trunk/src/c/Bamgx/BamgObjects.h
===================================================================
--- /issm/trunk/src/c/Bamgx/BamgObjects.h	(revision 3236)
+++ /issm/trunk/src/c/Bamgx/BamgObjects.h	(revision 3237)
@@ -134,32 +134,5 @@
 		return  bax*cay - bay*cax;
 	}
-	inline  TriangleAdjacent FindTriangleAdjacent(Edge &E){
-		Vertex * a = E.v[0];
-		Vertex * b = E.v[1];
-
-		Triangle * t = a->t;
-		int i = a->vint;
-		TriangleAdjacent ta(t,EdgesVertexTriangle[i][0]); // Previous edge
-		if (!t || i<0 || i>=3){
-			throw ErrorException(__FUNCT__,exprintf("!t || i<0 !! i>=3"));
-		}
-		if ( a!=(*t)(i)){
-			throw ErrorException(__FUNCT__,exprintf("a!=(*t)(i)"));
-		}
-		int k=0;
-		do { // turn around vertex in direct sens (trigo)
-			k++;
-			if (k>=20000){
-				throw ErrorException(__FUNCT__,exprintf("k>=20000"));
-			}
-			//  in no crack => ta.EdgeVertex(1) == a otherwise ??? 
-			if (ta.EdgeVertex(1) ==  a && ta.EdgeVertex(0) ==  b) return ta; // find 
-			ta = ta.Adj();
-			if (ta.EdgeVertex(0) ==  a && ta.EdgeVertex(1) ==  b) return ta; // find 
-			--ta;
-		} while (t != (Triangle *)ta);
-		throw ErrorException(__FUNCT__,exprintf("FindTriangleAdjacent: triangle not found"));
-		return TriangleAdjacent(0,0);//for compiler
-	}
+
 	/*}}}1*/
 
Index: /issm/trunk/src/c/Bamgx/objects/CrackedEdge.h
===================================================================
--- /issm/trunk/src/c/Bamgx/objects/CrackedEdge.h	(revision 3236)
+++ /issm/trunk/src/c/Bamgx/objects/CrackedEdge.h	(revision 3237)
@@ -13,4 +13,5 @@
 #include "Triangle.h"
 #include "../shared/TheVertex.h"
+#include "../shared/FindTriangleAdjacent.h"
 
 namespace bamg {
Index: /issm/trunk/src/c/Bamgx/objects/Edge.h
===================================================================
--- /issm/trunk/src/c/Bamgx/objects/Edge.h	(revision 3236)
+++ /issm/trunk/src/c/Bamgx/objects/Edge.h	(revision 3237)
@@ -50,8 +50,4 @@
 
 	};
-
-	//FOR NOW
-	inline TriangleAdjacent FindTriangleAdjacent(Edge &E);
-
 }
 #endif
Index: sm/trunk/src/c/Bamgx/shared/FindTriangle.cpp
===================================================================
--- /issm/trunk/src/c/Bamgx/shared/FindTriangle.cpp	(revision 3236)
+++ 	(revision )
@@ -1,37 +1,0 @@
-#include "FindTriangle.h"
-
-Int4 FindTriangle(Triangles &Th, Real8 x, Real8 y, double* a,int & inside){
-	I2 I = Th.toI2(R2(Min(Max(Th.pmin.x,x),Th.pmax.x),Min(Max(Th.pmin.y,y),Th.pmax.y))); 
-	Icoor2 dete[3];
-	Triangle & tb = *Th.FindTriangleContaining(I,dete);
-
-	if  (tb.link) 
-	  { // internal point in a true triangles
-		a[0]= (Real8) dete[0]/ tb.det;
-		a[1]= (Real8) dete[1] / tb.det;
-		a[2] = (Real8) dete[2] / tb.det;
-		inside = 1;	 
-		return Th.Number(tb);
-	  } 
-	else 
-	  {
-		inside = 0; 
-		double aa,bb;
-		TriangleAdjacent  ta=CloseBoundaryEdgeV2(I,&tb,aa,bb);	 
-		int k = ta;
-		Triangle * tc = ta;
-		if (!tc->link) 
-		  { ta = ta.Adj();
-			tc=ta;
-			k = ta;
-			Exchange(aa,bb);
-			if (!tc->link){
-				throw ErrorException(__FUNCT__,exprintf("!tc->link"));
-			}
-		  }
-		a[VerticesOfTriangularEdge[k][0]] = aa;
-		a[VerticesOfTriangularEdge[k][1]] = bb;
-		a[OppositeVertex[k]] = 1- aa -bb;
-		return Th.Number(tc);
-	  }
-}
Index: sm/trunk/src/c/Bamgx/shared/FindTriangle.h
===================================================================
--- /issm/trunk/src/c/Bamgx/shared/FindTriangle.h	(revision 3236)
+++ 	(revision )
@@ -1,19 +1,0 @@
-#ifndef _FINDTRIANGLE_H_
-#define _FINDTRIANGLE_H_
-
-#include "../../objects/objects.h"
-#include "../../shared/shared.h"
-#include "../../include/macros.h"
-#include "../../toolkits/toolkits.h"
-
-#include "../meshtype.h"
-#include "../objects/Triangle.h"
-
-namespace bamg {
-
-//	class Triangles;
-
-	Int4 FindTriangle(Triangles &Th, Real8 x, Real8 y, double* a,int & inside);
-
-}
-#endif
Index: /issm/trunk/src/c/Bamgx/shared/FindTriangleAdjacent.h
===================================================================
--- /issm/trunk/src/c/Bamgx/shared/FindTriangleAdjacent.h	(revision 3237)
+++ /issm/trunk/src/c/Bamgx/shared/FindTriangleAdjacent.h	(revision 3237)
@@ -0,0 +1,39 @@
+#ifndef _FINDTRIANGLEADJACENT_H_
+#define _FINDTRIANGLEADJACENT_H_
+
+#include "../meshtype.h"
+#include "../objects/Edge.h"
+
+namespace bamg {
+
+	inline TriangleAdjacent FindTriangleAdjacent(Edge &E){
+		Vertex * a = E.v[0];
+		Vertex * b = E.v[1];
+
+		Triangle * t = a->t;
+		int i = a->vint;
+		TriangleAdjacent ta(t,EdgesVertexTriangle[i][0]); // Previous edge
+		if (!t || i<0 || i>=3){
+			throw ErrorException(__FUNCT__,exprintf("!t || i<0 !! i>=3"));
+		}
+		if ( a!=(*t)(i)){
+			throw ErrorException(__FUNCT__,exprintf("a!=(*t)(i)"));
+		}
+		int k=0;
+		do { // turn around vertex in direct sens (trigo)
+			k++;
+			if (k>=20000){
+				throw ErrorException(__FUNCT__,exprintf("k>=20000"));
+			}
+			//  in no crack => ta.EdgeVertex(1) == a otherwise ??? 
+			if (ta.EdgeVertex(1) ==  a && ta.EdgeVertex(0) ==  b) return ta; // find 
+			ta = ta.Adj();
+			if (ta.EdgeVertex(0) ==  a && ta.EdgeVertex(1) ==  b) return ta; // find 
+			--ta;
+		} while (t != (Triangle *)ta);
+		throw ErrorException(__FUNCT__,exprintf("FindTriangleAdjacent: triangle not found"));
+		return TriangleAdjacent(0,0);//for compiler
+	}
+
+}
+#endif
Index: /issm/trunk/src/c/Bamgx/shared/shared.h
===================================================================
--- /issm/trunk/src/c/Bamgx/shared/shared.h	(revision 3236)
+++ /issm/trunk/src/c/Bamgx/shared/shared.h	(revision 3237)
@@ -10,5 +10,4 @@
 #include "CloseBoundaryEdge.h"
 #include "CloseBoundaryEdgeV2.h"
-#include "FindTriangle.h"
 #include "ForceEdge.h"
 #include "shared.h"
@@ -16,4 +15,5 @@
 #include "swap.h"
 #include "TheVertex.h"
+#include "FindTriangleAdjacent.h"
 
 #endif
