/** * Required interface for ActionEvents, to implement ActionListener for the UI objects such as * JButton-s and MenuItem-s * * @param event an ActionEvent */ public void actionPerformed(ActionEvent event) { String cmd = event.getActionCommand(); if (cmd.equals(CMD_NAV_ZOOMIN)) { getNavigatedDisplay().zoom(ZOOM_FACTOR); } else if (cmd.equals(CMD_NAV_ROTATELEFT)) { getNavigatedDisplay().rotateZ(-5.0); } else if (cmd.equals(CMD_NAV_ROTATERIGHT)) { getNavigatedDisplay().rotateZ(5.0); } else if (cmd.equals(CMD_NAV_ZOOMOUT)) { getNavigatedDisplay().zoom(1.0 / (double) ZOOM_FACTOR); } else if (cmd.equals(CMD_NAV_HOME)) { try { getNavigatedDisplay().resetProjection(); } catch (Exception exc) { } } else if (cmd.equals(CMD_NAV_RIGHT)) { getNavigatedDisplay().translate(-TRANSLATE_FACTOR, 0.0); } else if (cmd.equals(CMD_NAV_LEFT)) { getNavigatedDisplay().translate(TRANSLATE_FACTOR, 0.0); } else if (cmd.equals(CMD_NAV_UP)) { getNavigatedDisplay().translate(0.0, -TRANSLATE_FACTOR); } else if (cmd.equals(CMD_NAV_DOWN)) { getNavigatedDisplay().translate(0.0, TRANSLATE_FACTOR); } else if (cmd.equals(CMD_NAV_SMALLZOOMIN)) { getNavigatedDisplay().zoom(ZOOM_FACTOR); } else if (cmd.equals(CMD_NAV_SMALLZOOMOUT)) { getNavigatedDisplay().zoom(1.0 / ZOOM_FACTOR); } else if (cmd.equals(CMD_NAV_SMALLROTATELEFT)) { getNavigatedDisplay().rotateZ(-2.0); } else if (cmd.equals(CMD_NAV_SMALLROTATERIGHT)) { getNavigatedDisplay().rotateZ(2.0); } else if (cmd.equals(CMD_NAV_SMALLTILTUP)) { getNavigatedDisplay().rotateX(-2.0); } else if (cmd.equals(CMD_NAV_SMALLTILTDOWN)) { getNavigatedDisplay().rotateX(2.0); } else if (cmd.equals(CMD_NAV_SMALLRIGHT)) { getNavigatedDisplay().translate(-0.02, 0.0); } else if (cmd.equals(CMD_NAV_SMALLLEFT)) { getNavigatedDisplay().translate(0.02, 0.0); } else if (cmd.equals(CMD_NAV_SMALLUP)) { getNavigatedDisplay().translate(0.0, -0.02); } else if (cmd.equals(CMD_NAV_SMALLDOWN)) { getNavigatedDisplay().translate(0.0, 0.02); } else { super.actionPerformed(event); return; } checkHistoryMatrix(); }