public void translate(double dx, double dy) { delegate.translate(dx, dy); }
public void translate(double dx, double dy) { delegate.translate(dx, dy); }
void center(MouseEvent me, GraphZoomScrollPane gzsp) { VisualizationViewer<V,E> vv = (VisualizationViewer<V,E>)me.getSource(); MutableTransformer viewTransformer = vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.VIEW); double scaleFromViewTransformer = viewTransformer.getScale(); Dimension paneSize = gzsp.getSize(); Point2D positionOfVertexInPane = me.getPoint(); double[] centerOfPane = new double[] { paneSize.getWidth()/2d, paneSize.getHeight()/2d }; double[] amountToMovePane = new double[] { (centerOfPane[0]-positionOfVertexInPane.getX())/scaleFromViewTransformer, (centerOfPane[1]-positionOfVertexInPane.getY())/scaleFromViewTransformer }; viewTransformer.translate(amountToMovePane[0], amountToMovePane[1]); }
@Override public void moveCanvasTo(Point2D destinationPoint) { final MutableTransformer layoutTransformer = vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.LAYOUT); layoutTransformer.translate(destinationPoint.getX(), destinationPoint.getY()); }
public void run() { for (int i = 0; i < 10; i++) { vvMaster.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.LAYOUT).translate(dx, dy); try { Thread.sleep(100); } catch (InterruptedException ex) { } } } };
public void run() { for (int i = 0; i < 10; i++) { vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.LAYOUT).translate(dx, dy); try { Thread.sleep(100); } catch (InterruptedException ex) { } } } };
public void run() { for (int i = 0; i < 10; i++) { vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.LAYOUT).translate(dx, dy); try { Thread.sleep(100); } catch (InterruptedException ex) { } } } };
public void run() { for (int i = 0; i < 10; i++) { vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.LAYOUT).translate(dx, dy); try { Thread.sleep(100); } catch (InterruptedException ex) { } } } };
public void run() { for (int i = 0; i < 10; i++) { vv.getRenderContext() .getMultiLayerTransformer() .getTransformer(Layer.LAYOUT) .translate(dx, dy); try { Thread.sleep(100); } catch (InterruptedException ex) { } } } };
public void run() { for (int i = 0; i < 10; i++) { vvMaster .getRenderContext() .getMultiLayerTransformer() .getTransformer(Layer.LAYOUT) .translate(dx, dy); try { Thread.sleep(100); } catch (InterruptedException ex) { } } } };
/** * chack the modifiers. If accepted, translate the graph according * to the dragging of the mouse pointer * @param e the event */ public void mouseDragged(MouseEvent e) { VisualizationViewer<?,?> vv = (VisualizationViewer<?,?>)e.getSource(); boolean accepted = checkModifiers(e); if(accepted) { MutableTransformer viewTransformer = vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.VIEW); vv.setCursor(cursor); try { Point2D q = viewTransformer.inverseTransform(down); Point2D p = viewTransformer.inverseTransform(e.getPoint()); float dx = (float) (p.getX()-q.getX()); float dy = (float) (p.getY()-q.getY()); viewTransformer.translate(dx, dy); down.x = e.getX(); down.y = e.getY(); } catch(RuntimeException ex) { System.err.println("down = "+down+", e = "+e); throw ex; } e.consume(); } }
/** * chack the modifiers. If accepted, translate the graph according to the dragging of the mouse * pointer * * @param e the event */ public void mouseDragged(MouseEvent e) { VisualizationViewer<?, ?> vv = (VisualizationViewer<?, ?>) e.getSource(); boolean accepted = checkModifiers(e); if (accepted) { MutableTransformer viewTransformer = vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.VIEW); vv.setCursor(cursor); try { Point2D q = viewTransformer.inverseTransform(down); Point2D p = viewTransformer.inverseTransform(e.getPoint()); float dx = (float) (p.getX() - q.getX()); float dy = (float) (p.getY() - q.getY()); viewTransformer.translate(dx, dy); down.x = e.getX(); down.y = e.getY(); } catch (RuntimeException ex) { System.err.println("down = " + down + ", e = " + e); throw ex; } e.consume(); } }
/** * Scale current metagraph view to fit in whole graph. * */ public void scaleToFit() { // reset scaling for predictive behaviour visviewer.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.LAYOUT).setToIdentity(); visviewer.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.VIEW).setToIdentity(); // place layout centre in centre of the view Point2D[] calc = calcBounds(); Point2D min = calc[0]; Point2D max = calc[1]; // check for empty graph if (min != null && max != null) { Point2D layout_bounds = new Point2D.Double(max.getX() - min.getX(), max.getY() - min.getY()); // layouter produced nice bounds if (layout_bounds.getX() > 0 && layout_bounds.getY() > 0) { Point2D screen_center = visviewer.getCenter(); Point2D layout_center = new Point2D.Double(screen_center.getX() - (layout_bounds.getX() / 2) - min.getX(), screen_center.getY() - (layout_bounds.getY() / 2) - min.getY()); visviewer.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.VIEW).translate(layout_center.getX(), layout_center.getY()); // scale graph Point2D scale_bounds = new Point2D.Double(visviewer.getSize().getWidth() / layout_bounds.getX(), visviewer.getSize().getHeight() / layout_bounds.getY()); float scale = (float) Math.min(scale_bounds.getX(), scale_bounds.getY()); scale = 0.8f * scale; scaler.scale(visviewer, scale, visviewer.getCenter()); } } }
/** * Scale current satellite view to fit in whole graph. * */ public void scaleToFit() { // reset scaling for predictive behaviour satellite.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.LAYOUT).setToIdentity(); satellite.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.VIEW).setToIdentity(); // place layout center in center of the view Point2D[] calc = calcBounds(); Point2D min = calc[0]; Point2D max = calc[1]; Point2D layout_bounds = new Point2D.Double(max.getX() - min.getX(), max.getY() - min.getY()); // layouter produced nice bounds if (layout_bounds.getX() > 0 && layout_bounds.getY() > 0) { Point2D screen_center = satellite.getCenter(); Point2D layout_center = new Point2D.Double(screen_center.getX() - (layout_bounds.getX() / 2) - min.getX(), screen_center.getY() - (layout_bounds.getY() / 2) - min.getY()); satellite.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.VIEW).translate(layout_center.getX(), layout_center.getY()); // scale graph Point2D scale_bounds = new Point2D.Double(satellite.getWidth() / layout_bounds.getX(), satellite.getHeight() / layout_bounds.getY()); float scale = (float) Math.min(scale_bounds.getX(), scale_bounds.getY()); scale = 0.85f * scale; scaler.scale(satellite, scale, satellite.getCenter()); } else { // default scaler if layout not yet ready satellite.scaleToLayout(scaler); } }
/** * Centres all nodes to the available window */ public void center() { // reset scaling for predictive behaviour visviewer.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.LAYOUT).setToIdentity(); visviewer.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.VIEW).setToIdentity(); // place layout center in center of the view Point2D[] calc = calcBounds(); Point2D min = calc[0]; Point2D max = calc[1]; if (min == null || max == null) { return; // nothing to center on } Point2D screen_center = visviewer.getCenter(); Point2D layout_bounds = new Point2D.Double(max.getX() - min.getX(), max.getY() - min.getY()); Point2D layout_center = new Point2D.Double(screen_center.getX() - (layout_bounds.getX() / 2) - min.getX(), screen_center.getY() - (layout_bounds.getY() / 2) - min.getY()); visviewer.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.VIEW).translate(layout_center.getX(), layout_center.getY()); // scale graph if (visviewer.getGraphMouse() instanceof OVTK2GraphMouse) { Point2D scale_bounds = new Point2D.Double(visviewer.getWidth() / layout_bounds.getX(), visviewer.getHeight() / layout_bounds.getY()); float scale = (float) Math.min(scale_bounds.getX(), scale_bounds.getY()); scale = 0.95f * scale; OVTK2GraphMouse mouse = (OVTK2GraphMouse) visviewer.getGraphMouse(); mouse.getScaler().scale(visviewer, scale, visviewer.getCenter()); } }
/** * Centres all nodes to the available window */ @Override public void center() { VisualizationViewer<ONDEXConcept, ONDEXRelation> vv = this.getVisualizationViewer(); // reset scaling for predictive behaviour vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.LAYOUT).setToIdentity(); vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.VIEW).setToIdentity(); // place layout center in center of the view Point2D[] calc = calcBounds(); Point2D min = calc[0]; Point2D max = calc[1]; if (min == null || max == null) { return; // nothing to center on } Point2D screen_center = vv.getCenter(); Point2D layout_bounds = new Point2D.Double(max.getX() - min.getX(), max.getY() - min.getY()); Point2D layout_center = new Point2D.Double(screen_center.getX() - (layout_bounds.getX() / 2) - min.getX(), screen_center.getY() - (layout_bounds.getY() / 2) - min.getY()); vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.VIEW).translate(layout_center.getX(), layout_center.getY()); // scale graph Point2D scale_bounds = new Point2D.Double(vv.getWidth() / layout_bounds.getX(), vv.getHeight() / layout_bounds.getY()); float scale = (float) Math.min(scale_bounds.getX(), scale_bounds.getY()); scale = 0.95f * scale; OVTK2GraphMouse mouse = (OVTK2GraphMouse) vv.getGraphMouse(); mouse.getScaler().scale(vv, scale, vv.getCenter()); }
float dy = (float) (p.getY() - q.getY()); modelTransformerMaster.translate(-dx, -dy); down.x = e.getX(); down.y = e.getY();
float dy = (float) (p.getY()-q.getY()); modelTransformerMaster.translate(-dx, -dy); down.x = e.getX(); down.y = e.getY();
/** * chack the modifiers. If accepted, translate the graph according * to the dragging of the mouse pointer * @param e the event */ public void mouseDragged(MouseEvent e) { VisualizationViewer<?, ?> vv = (VisualizationViewer<?, ?>)e.getSource(); boolean accepted = checkModifiers(e); if(accepted) { MutableTransformer modelTransformer = vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.LAYOUT); vv.setCursor(cursor); try { Point2D q = vv.getRenderContext().getMultiLayerTransformer().inverseTransform(down); Point2D p = vv.getRenderContext().getMultiLayerTransformer().inverseTransform(e.getPoint()); float dx = (float) (p.getX()-q.getX()); float dy = (float) (p.getY()-q.getY()); modelTransformer.translate(dx, dy); down.x = e.getX(); down.y = e.getY(); } catch(RuntimeException ex) { System.err.println("down = "+down+", e = "+e); throw ex; } e.consume(); vv.repaint(); } }
/** * chack the modifiers. If accepted, translate the graph according to the dragging of the mouse * pointer * * @param e the event */ public void mouseDragged(MouseEvent e) { VisualizationViewer<?, ?> vv = (VisualizationViewer<?, ?>) e.getSource(); boolean accepted = checkModifiers(e); if (accepted) { MutableTransformer modelTransformer = vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.LAYOUT); vv.setCursor(cursor); try { Point2D q = vv.getRenderContext().getMultiLayerTransformer().inverseTransform(down); Point2D p = vv.getRenderContext().getMultiLayerTransformer().inverseTransform(e.getPoint()); float dx = (float) (p.getX() - q.getX()); float dy = (float) (p.getY() - q.getY()); modelTransformer.translate(dx, dy); down.x = e.getX(); down.y = e.getY(); } catch (RuntimeException ex) { System.err.println("down = " + down + ", e = " + e); throw ex; } e.consume(); vv.repaint(); } }