protected static boolean pointInTri( float[] v0, float[] u0, float[] u1, float[] u2, int i0, int i1 )
	{
		float a = u1[i1] - u0[i1];
		float b = -( u1[i0] - u0[i0] );
		float c = -a * u0[i0] - b * u0[i1];
		float d0 = a * v0[i0] + b * v0[i1] + c;

		a = u2[i1] - u1[i1];
		b = -( u2[i0] - u1[i0] );
		c = -a * u1[i0] - b * u1[i1];
		float d1 = a * v0[i0] + b * v0[i1] + c;

		a = u0[i1] - u2[i1];
		b = -( u0[i0] - u2[i0] );
		c = -a * u2[i0] - b * u2[i1];
		float d2 = a * v0[i0] + b * v0[i1] + c;

		return d0 * d1 > 0 && d0 * d2 > 0;
	}