public Box2D cropBy(Box2D box) {
    if (xpos < box.xpos) xpos = box.xpos ;
    if (ypos < box.ypos) ypos = box.ypos ;
    if (xmax > box.xmax) xmax = box.xmax ;
    if (ymax > box.ymax) ymax = box.ymax ;
    if (xmax < xpos) { xmax = xpos ; xdim = 0 ; }
    else xdim = xmax - xpos ;
    if (ymax < ypos) { ymax = ypos ; ydim = 0 ; }
    else ydim = ymax - ypos ;
    return this ;
  }