/** * Reset base coordinates. Round/extend lower and upper bounds if necessary. */ public void reset() { for (int i = 0; i < dimension; i++) { lowerBound[i] = originalLowerBound[i]; upperBound[i] = originalUpperBound[i]; setPrecisionUnit(i); } // setup rounded base. for (int i = 0; i < dimension; i++) { if (extendBound[i]) { extendBound(i); } } initBaseCoord(); }
@Override public void componentResized(ComponentEvent e) { if (graphics != null) { base.initBaseCoord(); graphics.projection.reset(); baseGrid.setBase(base); } repaint(); }
@Override public void mouseWheelMoved(MouseWheelEvent e) { if (e.getWheelRotation() == 0) { return; } for (int i = 0; i < base.dimension; i++) { int s = baseGrid.getAxis(i).getLinearSlices(); double r = e.getWheelRotation() > 0 ? 1.0 / s : -1.0 / s; if (r > -0.5) { double d = (base.upperBound[i] - base.lowerBound[i]) * r; base.lowerBound[i] -= d; base.upperBound[i] += d; } } for (int i = 0; i < base.dimension; i++) { base.setPrecisionUnit(i); } base.initBaseCoord(); graphics.projection.reset(); baseGrid.setBase(base); repaint(); e.consume(); }
base.setPrecisionUnit(i); base.initBaseCoord(); graphics.projection.reset(); baseGrid.setBase(base);
base.initBaseCoord(); graphics.projection.reset(); baseGrid.setBase(base);
/** * Zooms in/out the plot. * @param inout true if zoom in. Otherwise, zoom out. */ public void zoom(boolean inout) { for (int i = 0; i < base.dimension; i++) { int s = baseGrid.getAxis(i).getLinearSlices(); double r = inout ? -1.0 / s : 1.0 / s; double d = (base.upperBound[i] - base.lowerBound[i]) * r; base.lowerBound[i] -= d; base.upperBound[i] += d; } for (int i = 0; i < base.dimension; i++) { base.setPrecisionUnit(i); } base.initBaseCoord(); graphics.projection.reset(); baseGrid.setBase(base); canvas.repaint(); }
base.initBaseCoord(); graphics.projection.reset(); baseGrid.setBase(base);