# View not recognizing tx,ty arguments

When setting the camera position with the parameters tx and ty, if a zero value is specified no argument is taken for those parameters. When view is called multiple times this may generate errors in the camera position. If in a previous call the camera is displaced from the default centered position, in successive calls assigning \displaystyle tx = 0 does not move back the camera to the centered position.

This is the expected behaviour, due to limitations in the way named arguments are implemented in Basilisk C.
#include "fractions.h"
#include "view.h"

int main() {

We first define a volume fraction field.

  init_grid (16);
origin (-0.5,-0.5,-0.5);
scalar f[];
fraction (f, sq(x) + sq(y) + sq(z) - sq(0.3));

We set a first view displacing the camera in the x direction.

  view (tx = -0.2, ty = 0., width = 400, height = 400);
box();
draw_vof ("f");
save ("out.png");

We set a second view centered on the origin.

  view (tx = 0., ty = 0., width = 400, height = 400);
box();
draw_vof ("f");
save ("out2.png");

A simple workaround is to specify a very small number instead of zero.

  view (tx = 1.e-12, ty = 0., width = 400, height = 400);
box();
draw_vof ("f");
save ("out3.png");
}