I'm assuming 'float orientation' is intended to be the angle of rotation of the box. This is fine, but for most useful OBB queries you'll need to represent the box's orientation using an orthonormal basis. This basis can also be thought of as the local axes or the oriented box.
The extents always remain the same, regardless of orientation (unless of course you want to change the shape of the box). In the above code sample, box_axis[] is an array of two 2D vectors representing the box's local axes. (In 3D it would be an array of three 3D vectors.)
The axes can be constructed from the orientation angle as follows:
float s = sin(orientation);float c = cos(orientation);axis[0].set(c,s);axis[1].set(-s,c);
'Hope that helps clear things up.