private void changeCamera(ReadOnlyVector3 dir){
  Vector3 angle=MathUtil.directionToAzEl(dir,null);
  setAzAndEl(-angle.getX(),angle.getY() + Math.PI / 2);
  lookAt.set(dir);
  lookAt.scaleAddLocal(camera.getDistanceToCoR(),camera.getLocation());
  camera.setLookAt(lookAt);
  rotateTurntable(camera.getDistanceToCoR());
  updateFromCamera();
  updateCrosshair();
  updateGeometricState(0);
  changed.set(true);
}

private void changeCamera ( ReadOnlyVector3 dir ) { Vector3 angle = MathUtil . directionToAzEl ( dir , null ) ; setAzAndEl ( - angle . getX ( ) , angle . getY ( ) + Math . PI / 2 ) ; lookAt . set ( dir ) ; lookAt . scaleAddLocal ( camera . getDistanceToCoR ( ) , camera . getLocation ( ) ) ; camera . setLookAt ( lookAt ) ; rotateTurntable ( camera . getDistanceToCoR ( ) ) ; updateFromCamera ( ) ; updateCrosshair ( ) ; updateGeometricState ( 0 ) ; changed . set ( true ) ; }
propagate camera direction changes to lookat , distance , and angles .
