public static Cuboid Intersection(Cuboid[] cuboids) { Cuboid retval = new Cuboid(cuboids[0].N, cuboids[0].X, cuboids[0].Y, cuboids[0].Z, cuboids[0].DX, cuboids[0].DY, cuboids[0].DZ); for (int i = 1; i < cuboids.Length; i++) { retval = retval.Intersection(cuboids[i]); if (retval.DX == 0 || retval.DY == 0 || retval.DZ == 0) { break; } } return(retval); }