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