public ShapeTileBox vertical_offset(double p_dist){
  if (p_dist == 0 || is_empty()) {
    return this;
  }
  int dist=(int)Math.round(p_dist);
  PlaPointInt lower_left=new PlaPointInt(box_ll.v_x,box_ll.v_y - dist);
  PlaPointInt upper_right=new PlaPointInt(box_ur.v_x,box_ur.v_y + dist);
  return new ShapeTileBox(lower_left,upper_right);
}

public ShapeTileBox vertical_offset ( double p_dist ) { if ( p_dist == 0 || is_empty ( ) ) { return this ; } int dist = ( int ) Math . round ( p_dist ) ; PlaPointInt lower_left = new PlaPointInt ( box_ll . v_x , box_ll . v_y - dist ) ; PlaPointInt upper_right = new PlaPointInt ( box_ur . v_x , box_ur . v_y + dist ) ; return new ShapeTileBox ( lower_left , upper_right ) ; }
returns the box , where the vertical boundary is offseted by p_dist . if p_dist > 0 , the offset is to the outside , else to the inside .
