//! Merges a point
        public void MergePoint(ref IndexedVector3 point)
        {
            m_min.X = BoxCollision.BT_MIN(m_min.X, point.X);
            m_min.Y = BoxCollision.BT_MIN(m_min.Y, point.Y);
            m_min.Z = BoxCollision.BT_MIN(m_min.Z, point.Z);

            m_max.X = BoxCollision.BT_MAX(m_max.X, point.X);
            m_max.Y = BoxCollision.BT_MAX(m_max.Y, point.Y);
            m_max.Z = BoxCollision.BT_MAX(m_max.Z, point.Z);
        }
        //! Finds the intersecting box between this box and the other.
        public void FindIntersection(ref AABB other, ref AABB intersection)
        {
            intersection.m_min.X = BoxCollision.BT_MAX(other.m_min.X, m_min.X);
            intersection.m_min.Y = BoxCollision.BT_MAX(other.m_min.Y, m_min.Y);
            intersection.m_min.Z = BoxCollision.BT_MAX(other.m_min.Z, m_min.Z);

            intersection.m_max.X = BoxCollision.BT_MIN(other.m_max.X, m_max.X);
            intersection.m_max.Y = BoxCollision.BT_MIN(other.m_max.Y, m_max.Y);
            intersection.m_max.Z = BoxCollision.BT_MIN(other.m_max.Z, m_max.Z);
        }
        public void Merge(ref AABB box)
        {
            m_min.X = BoxCollision.BT_MIN(m_min.X, box.m_min.X);
            m_min.Y = BoxCollision.BT_MIN(m_min.Y, box.m_min.Y);
            m_min.Z = BoxCollision.BT_MIN(m_min.Z, box.m_min.Z);

            m_max.X = BoxCollision.BT_MAX(m_max.X, box.m_max.X);
            m_max.Y = BoxCollision.BT_MAX(m_max.Y, box.m_max.Y);
            m_max.Z = BoxCollision.BT_MAX(m_max.Z, box.m_max.Z);
        }