protected static TriangleIntersection compute_intervals_isectline( Triangle t, float vv0, float vv1, float vv2,
																	   float d0, float d1, float d2,
																	   float d0d1, float d0d2 )
	{
		if ( d0d1 > 0 ) // D0, D1 are on the same side, D2 on the other or on the plane
			return intersect( t.getPoint3(), t.getPoint1(), t.getPoint2(), vv2, vv0, vv1, d2, d0, d1 );
		else if ( d0d2 > 0 )
			return intersect( t.getPoint2(), t.getPoint1(), t.getPoint3(), vv1, vv0, vv2, d1, d0, d2 );
		else if ( d1 * d2 > 0 || d0 != 0 )
			return intersect( t.getPoint1(), t.getPoint2(), t.getPoint3(), vv0, vv1, vv2, d0, d1, d2 );
		else if ( d1 != 0 )
			return intersect( t.getPoint2(), t.getPoint1(), t.getPoint3(), vv1, vv0, vv2, d1, d0, d2 );
		else if ( d2 != 0 )
			return intersect( t.getPoint3(), t.getPoint1(), t.getPoint2(), vv2, vv0, vv1, d2, d0, d1 );
		else
			return null; // triangles are coplanar
	}