private static boolean snip(Vector2D[] contour, int u, int v, int w, int n, int[] vList){
		int p;
		double Ax, Ay, Bx, By, Cx, Cy, Px, Py;

		Ax = contour[vList[u]].x;
		Ay = contour[vList[u]].y;

		Bx = contour[vList[v]].x;
		By = contour[vList[v]].y;

		Cx = contour[vList[w]].x;
		Cy = contour[vList[w]].y;

		if ( EPSILON > (((Bx-Ax)*(Cy-Ay)) - ((By-Ay)*(Cx-Ax))) ) 
			return false;

		for (p = 0; p < n; p++){
			if( (p == u) || (p == v) || (p == w) ) continue;
			Px = contour[vList[p]].x;
			Py = contour[vList[p]].y;
			if (isInsideTriangle(Ax, Ay, Bx, By, Cx, Cy, Px, Py)) 
				return false;
		}
		return true;
	}