public void paint(Graphics g) { g.setColor(Color.gray); Graphics2D g2d = (Graphics2D)g; Ellipse2D ellipse = new Ellipse2D.Double(); for(String v : layout.getGraph().getVertices()) { Double radius = layout.getRadii().get(v); if(radius == null) continue; Point2D p = layout.apply(v); ellipse.setFrame(-radius, -radius, 2*radius, 2*radius); AffineTransform at = AffineTransform.getTranslateInstance(p.getX(), p.getY()); Shape shape = at.createTransformedShape(ellipse); MutableTransformer viewTransformer = vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.VIEW); if(viewTransformer instanceof MutableTransformerDecorator) { shape = vv.getRenderContext().getMultiLayerTransformer().transform(shape); } else { shape = vv.getRenderContext().getMultiLayerTransformer().transform(Layer.LAYOUT,shape); } g2d.draw(shape); } }
/** zoom the display in or out, depending on the direction of the mouse wheel motion. */ public void scale(VisualizationServer<?, ?> vv, float amount, Point2D from) { Point2D ivtfrom = vv.getRenderContext().getMultiLayerTransformer().inverseTransform(Layer.VIEW, from); MutableTransformer modelTransformer = vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.LAYOUT); modelTransformer.scale(amount, amount, ivtfrom); vv.repaint(); } }
public void resetTransformer() { vv.getRenderContext().getMultiLayerTransformer().setToIdentity(); }
public AnnotationPaintable(RenderContext<?,?> rc, AnnotationRenderer annotationRenderer) { this.rc = rc; this.annotationRenderer = annotationRenderer; MutableTransformer mt = rc.getMultiLayerTransformer().getTransformer(Layer.LAYOUT); if(mt instanceof AffineTransformer) { transformer = (AffineTransformer)mt; } else if(mt instanceof LensTransformer) { transformer = (AffineTransformer)((LensTransformer)mt).getDelegate(); } }
public void paint(Graphics g) { Graphics2D g2d = (Graphics2D) g; g.setColor(Color.cyan); for (Rectangle2D r : rectangles) { g2d.draw(rc.getMultiLayerTransformer().transform(MultiLayerTransformer.Layer.LAYOUT, r)); } }
@Override public Point2D getCanvasPointFromNetPlanPoint(Point2D npCoord) { Point2D layoutOrViewCoordinates = vv.getRenderContext().getMultiLayerTransformer().inverseTransform(Layer.LAYOUT, npCoord); layoutOrViewCoordinates.setLocation(layoutOrViewCoordinates.getX(), -layoutOrViewCoordinates.getY()); return layoutOrViewCoordinates; }
public void activate() { lensTransformer.setDelegate( vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.VIEW)); if (lensPaintable == null) { lensPaintable = new LensPaintable(lensTransformer); } if (lensControls == null) { lensControls = new LensControls(lensTransformer); } lensTransformer.setDelegate( vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.VIEW)); vv.getRenderContext().getMultiLayerTransformer().setTransformer(Layer.VIEW, lensTransformer); this.renderContext.setGraphicsContext(lensGraphicsDecorator); vv.addPreRenderPaintable(lensPaintable); vv.addPostRenderPaintable(lensControls); vv.setGraphMouse(lensGraphMouse); vv.setToolTipText(instructions); vv.setTransformSupport(new LensTransformSupport<>()); vv.repaint(); }
public void deactivate() { vv.getRenderContext().setPickSupport(pickSupport); if(perspectiveTransformer != null) { vv.removePreRenderPaintable(lens); vv.getRenderContext().getMultiLayerTransformer().setTransformer(Layer.LAYOUT, perspectiveTransformer.getDelegate()); } vv.setToolTipText(defaultToolTipText); vv.repaint(); } }
@SuppressWarnings({ "rawtypes", "unchecked" }) public CachingEdgeRenderer(BasicVisualizationServer<V,E> vv) { vv.getRenderContext().getMultiLayerTransformer().addChangeListener(this); Layout<V,E> layout = vv.getGraphLayout(); if(layout instanceof LayoutEventSupport) { ((LayoutEventSupport)layout).addLayoutChangeListener(this); } } /**
public AnnotationPaintable(RenderContext<?, ?> rc, AnnotationRenderer annotationRenderer) { this.rc = rc; this.annotationRenderer = annotationRenderer; MutableTransformer mt = rc.getMultiLayerTransformer().getTransformer(Layer.LAYOUT); if (mt instanceof AffineTransformer) { transformer = (AffineTransformer) mt; } else if (mt instanceof LensTransformer) { transformer = (AffineTransformer) ((LensTransformer) mt).getDelegate(); } }
public void paint(Graphics g) { Graphics2D g2d = (Graphics2D)g; g.setColor(Color.cyan); for(Rectangle2D r : rectangles) { g2d.draw(rc.getMultiLayerTransformer().transform(Layer.LAYOUT, r)); } }
/** * override to consider Lens effects * * @param vv * @param multiLayerTransformer * @param down * @param out */ protected void updatePickingTargets( VisualizationViewer vv, MultiLayerTransformer multiLayerTransformer, Point2D down, Point2D out) { log.trace("updatePickingTargets with {} to {}", down, out); viewRectangle.setFrameFromDiagonal(down, out); layoutTargetShape = multiLayerTransformer.inverseTransform(viewRectangle); if (log.isTraceEnabled()) { log.trace("viewRectangle {}", viewRectangle); log.trace("layoutTargetShape bounds {}", layoutTargetShape.getBounds()); } }
public void activate() { lensTransformer.setDelegate(vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.VIEW)); if(lens == null) { lens = new Lens(lensTransformer); } if(lensControls == null) { lensControls = new LensControls(lensTransformer); } renderContext.setPickSupport(new ViewLensShapePickSupport<V,E>(vv)); lensTransformer.setDelegate(vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.VIEW)); vv.getRenderContext().getMultiLayerTransformer().setTransformer(Layer.VIEW, lensTransformer); this.renderContext.setGraphicsContext(lensGraphicsDecorator); vv.getRenderer().setEdgeRenderer(reshapingEdgeRenderer); vv.addPreRenderPaintable(lens); vv.addPostRenderPaintable(lensControls); vv.setGraphMouse(lensGraphMouse); vv.setToolTipText(instructions); vv.repaint(); }
public void deactivate() { renderContext.setPickSupport(pickSupport); vv.getRenderContext().getMultiLayerTransformer().setTransformer(Layer.VIEW, perspectiveTransformer.getDelegate()); vv.removePreRenderPaintable(lens); vv.getRenderContext().setGraphicsContext(savedGraphicsDecorator); vv.setToolTipText(defaultToolTipText); vv.repaint(); }
@SuppressWarnings({ "rawtypes", "unchecked" }) public CachingVertexRenderer(BasicVisualizationServer<V,E> vv) { vv.getRenderContext().getMultiLayerTransformer().addChangeListener(this); Layout<V,E> layout = vv.getGraphLayout(); if(layout instanceof LayoutEventSupport) { ((LayoutEventSupport)layout).addLayoutChangeListener(this); } }
public void paint(Graphics g) { g.setColor(Color.gray); Graphics2D g2d = (Graphics2D) g; Ellipse2D ellipse = new Ellipse2D.Double(); for (Object v : vv.getModel().getNetwork().nodes()) { Double radius = layoutAlgorithm.getRadii().get(v); if (radius == null) { continue; } Point p = vv.getModel().getLayoutModel().apply(v); ellipse.setFrame(-radius, -radius, 2 * radius, 2 * radius); AffineTransform at = AffineTransform.getTranslateInstance(p.x, p.y); Shape shape = at.createTransformedShape(ellipse); MutableTransformer viewTransformer = vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.VIEW); if (viewTransformer instanceof MutableTransformerDecorator) { shape = vv.getRenderContext().getMultiLayerTransformer().transform(shape); } else { shape = vv.getRenderContext().getMultiLayerTransformer().transform(Layer.LAYOUT, shape); } g2d.draw(shape); } }
public GradientEdgePaintTransformer(Color c1, Color c2, VisualizationViewer<V,E> vv) { this.c1 = c1; this.c2 = c2; this.vv = vv; this.transformer = vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.LAYOUT); }
public void paint(Graphics g) { g.setColor(Color.gray); Graphics2D g2d = (Graphics2D)g; Point2D center = radialLayout.getCenter(); Ellipse2D ellipse = new Ellipse2D.Double(); for(double d : depths) { ellipse.setFrameFromDiagonal(center.getX()-d, center.getY()-d, center.getX()+d, center.getY()+d); Shape shape = vv.getRenderContext().getMultiLayerTransformer().transform(ellipse); g2d.draw(shape); } }
/** * zoom the display in or out, depending on the direction of the * mouse wheel motion. */ public void scale(VisualizationServer<?, ?> vv, float amount, Point2D from) { Point2D ivtfrom = vv.getRenderContext().getMultiLayerTransformer() .inverseTransform(Layer.VIEW, from); MutableTransformer modelTransformer = vv.getRenderContext().getMultiLayerTransformer() .getTransformer(Layer.LAYOUT); modelTransformer.scale(amount, amount, ivtfrom); vv.repaint(); } }
public Shape viewOnLayout() { Dimension d = this.getSize(); MultiLayerTransformer vt = renderContext.getMultiLayerTransformer(); Shape s = new Rectangle2D.Double(0, 0, d.width, d.height); return vt.inverseTransform(s); }