public ShapeTileOctagon(PlaPointFloat a_point){
  PlaPointFloat fp=a_point;
  int lx=(int)Math.floor(fp.v_x);
  int ly=(int)Math.floor(fp.v_y);
  int rx=(int)Math.ceil(fp.v_x);
  int uy=(int)Math.ceil(fp.v_y);
  double tmp=fp.v_x - fp.v_y;
  int ulx=(int)Math.floor(tmp);
  int lrx=(int)Math.ceil(tmp);
  tmp=fp.v_x + fp.v_y;
  int llx=(int)Math.floor(tmp);
  int urx=(int)Math.ceil(tmp);
  oct_lx=lx;
  oct_ly=ly;
  oct_rx=rx;
  oct_uy=uy;
  oct_ulx=ulx;
  oct_lrx=lrx;
  oct_llx=llx;
  oct_urx=urx;
}

public ShapeTileOctagon ( PlaPointFloat a_point ) { PlaPointFloat fp = a_point ; int lx = ( int ) Math . floor ( fp . v_x ) ; int ly = ( int ) Math . floor ( fp . v_y ) ; int rx = ( int ) Math . ceil ( fp . v_x ) ; int uy = ( int ) Math . ceil ( fp . v_y ) ; double tmp = fp . v_x - fp . v_y ; int ulx = ( int ) Math . floor ( tmp ) ; int lrx = ( int ) Math . ceil ( tmp ) ; tmp = fp . v_x + fp . v_y ; int llx = ( int ) Math . floor ( tmp ) ; int urx = ( int ) Math . ceil ( tmp ) ; oct_lx = lx ; oct_ly = ly ; oct_rx = rx ; oct_uy = uy ; oct_ulx = ulx ; oct_lrx = lrx ; oct_llx = llx ; oct_urx = urx ; }
construct n octagon around the given point
