boolean edgeAgainstTriEdges(Point3d v0, Point3d v1, Point3d u0, Point3d u1, Point3d u2, int i0, int i1) { double aX, aY; // aX = v1[i0] - v0[i0]; // aY = v1[i1] - v0[i1]; aX = getCompValue(v1, v0, i0); aY = getCompValue(v1, v0, i1); // test edge u0, u1 against v0, v1 if(edgeAgainstEdge(v0, u0, u1, aX, aY, i0, i1)) return true; // test edge u1, u2 against v0, v1 if(edgeAgainstEdge(v0, u1, u2, aX, aY, i0, i1)) return true; // test edge u2, u0 against v0, v1 if(edgeAgainstEdge(v0, u2, u0, aX, aY, i0, i1)) return true; return false; }