public static BoundingBox Union(BoundingBox b, BoundingBox b2)
{
BoundingBox ret = new BoundingBox (b);
ret.pMin.x = Math.Min (b.pMin.x, b2.pMin.x);
ret.pMin.y = Math.Min (b.pMin.y, b2.pMin.y);
ret.pMin.z = Math.Min (b.pMin.z, b2.pMin.z);
ret.pMax.x = Math.Max (b.pMax.x, b2.pMax.x);
ret.pMax.y = Math.Max (b.pMax.y, b2.pMax.y);
ret.pMax.z = Math.Max (b.pMax.z, b2.pMax.z);
return ret;
}