public PlaPointInt round_to_the_right(PlaDirection p_dir){
  PlaPointFloat dir=p_dir.to_float();
  double rounded_x;
  if (dir.v_y > 0) {
    rounded_x=Math.ceil(v_x);
  }
 else   if (dir.v_y < 0) {
    rounded_x=Math.floor(v_x);
  }
 else {
    rounded_x=Math.round(v_x);
  }
  double rounded_y;
  if (dir.v_x > 0) {
    rounded_y=Math.floor(v_y);
  }
 else   if (dir.v_x < 0) {
    rounded_y=Math.ceil(v_y);
  }
 else {
    rounded_y=Math.round(v_y);
  }
  return new PlaPointInt(rounded_x,rounded_y);
}

public PlaPointInt round_to_the_right ( PlaDirection p_dir ) { PlaPointFloat dir = p_dir . to_float ( ) ; double rounded_x ; if ( dir . v_y > 0 ) { rounded_x = Math . ceil ( v_x ) ; } else if ( dir . v_y < 0 ) { rounded_x = Math . floor ( v_x ) ; } else { rounded_x = Math . round ( v_x ) ; } double rounded_y ; if ( dir . v_x > 0 ) { rounded_y = Math . floor ( v_y ) ; } else if ( dir . v_x < 0 ) { rounded_y = Math . ceil ( v_y ) ; } else { rounded_y = Math . round ( v_y ) ; } return new PlaPointInt ( rounded_x , rounded_y ) ; }
rounds this point , so that if this point is on the right side of any directed line with direction p_dir , the result point will also be on the right side .
