PixelFarm.VectorMath.AxisAlignedBoundingBox.Intersection C# (CSharp) Method

Intersection() public static method

public static Intersection ( AxisAlignedBoundingBox boundsA, AxisAlignedBoundingBox boundsB ) : AxisAlignedBoundingBox
boundsA AxisAlignedBoundingBox
boundsB AxisAlignedBoundingBox
return AxisAlignedBoundingBox
        public static AxisAlignedBoundingBox Intersection(AxisAlignedBoundingBox boundsA, AxisAlignedBoundingBox boundsB)
        {
            Vector3 minXYZ = Vector3.Zero;
            minXYZ.x = Math.Max(boundsA.minXYZ.x, boundsB.minXYZ.x);
            minXYZ.y = Math.Max(boundsA.minXYZ.y, boundsB.minXYZ.y);
            minXYZ.z = Math.Max(boundsA.minXYZ.z, boundsB.minXYZ.z);
            Vector3 maxXYZ = Vector3.Zero;
            maxXYZ.x = Math.Max(minXYZ.x, Math.Min(boundsA.maxXYZ.x, boundsB.maxXYZ.x));
            maxXYZ.y = Math.Max(minXYZ.y, Math.Min(boundsA.maxXYZ.y, boundsB.maxXYZ.y));
            maxXYZ.z = Math.Max(minXYZ.z, Math.Min(boundsA.maxXYZ.z, boundsB.maxXYZ.z));
            return new AxisAlignedBoundingBox(minXYZ, maxXYZ);
        }