public bool IsPartiallyWithinBounds(MovableBoundingBox box2)
        {
            bool isIn, isOut;
            isIn = isOut = false;

            if (box2.Left < _left || box2.Left > _right)
                isOut = true;
            else
                isIn = true;
            if (box2.Right > _right || box2.Right < _left)
                isOut = true;
            else
                isIn = true;
            if (box2.Top > _top || box2.Top < _bottom)
                isOut = true;
            else
                isIn = true;
            if (box2.Bottom < _bottom || box2.Bottom > _top)
                isOut = true;
            else
                isIn = true;
            if (box2.Near < _near || box2.Near > _far)
                isOut = true;
            else
                isIn = true;
            if (box2.Far > _far || box2.Far < _near)
                isOut = true;
            else
                isIn = true;

            if (!_bBox.Intersects(box2))
                return false;

            if (isIn && isOut)
                return true;
            else if (isIn)
                return true;
            else
                return false;
        }
 public MovableBoundingBox(MovableBoundingBox mbbox)
     : this(mbbox._bBox)
 {
 }
 public bool IsFullyWithinBounds(MovableBoundingBox box2)
 {
     if (box2.Left < _left)
         return false;
     else if (box2.Right > _right)
         return false;
     else if (box2.Top > _top)
         return false;
     else if (box2.Bottom < _bottom)
         return false;
     else if (box2.Near < _near)
         return false;
     else if (box2.Far > _far)
         return false;
     else
         return true;
 }