public Shape perspectiveTransform(Shape shape) { return perspectiveTransform(shape, 0); }
/** * Transform the supplied shape with the overridden transform * method so that the shape is distorted by the perspective * transform. * @param shape a shape to transform * @return a GeneralPath for the transformed shape */ @Override public Shape transform(Shape shape) { return transform(shape, 0); } public Shape transform(Shape shape, float flatness) {
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(); } }
/** * @param vv the VisualizationViewer to work on */ public PerspectiveLayoutTransformSupport(VisualizationViewer<V,E> vv) { super(vv); this.perspectiveTransformer = new PerspectiveShapeTransformer(new PerspectiveTransform(), vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.LAYOUT)); this.pickSupport = vv.getPickSupport(); }
switch(type) { case PathIterator.SEG_MOVETO: Point2D p = inversePerspectiveTransform(new Point2D.Float(coords[0], coords[1])); newPath.moveTo((float)p.getX(), (float)p.getY()); break; p = inversePerspectiveTransform(new Point2D.Float(coords[0], coords[1])); newPath.lineTo((float)p.getX(), (float) p.getY()); break; p = inversePerspectiveTransform(new Point2D.Float(coords[0], coords[1])); Point2D q = inversePerspectiveTransform(new Point2D.Float(coords[2], coords[3])); newPath.quadTo((float)p.getX(), (float)p.getY(), (float)q.getX(), (float)q.getY()); break; p = inversePerspectiveTransform(new Point2D.Float(coords[0], coords[1])); q = inversePerspectiveTransform(new Point2D.Float(coords[2], coords[3])); Point2D r = inversePerspectiveTransform(new Point2D.Float(coords[4], coords[5])); newPath.curveTo((float)p.getX(), (float)p.getY(), (float)q.getX(), (float)q.getY(),
switch(type) { case PathIterator.SEG_MOVETO: Point2D p = inverseTransform(new Point2D.Float(coords[0], coords[1])); newPath.moveTo((float)p.getX(), (float)p.getY()); break; p = inverseTransform(new Point2D.Float(coords[0], coords[1])); newPath.lineTo((float)p.getX(), (float) p.getY()); break; p = inverseTransform(new Point2D.Float(coords[0], coords[1])); Point2D q = inverseTransform(new Point2D.Float(coords[2], coords[3])); newPath.quadTo((float)p.getX(), (float)p.getY(), (float)q.getX(), (float)q.getY()); break; p = inverseTransform(new Point2D.Float(coords[0], coords[1])); q = inverseTransform(new Point2D.Float(coords[2], coords[3])); Point2D r = inverseTransform(new Point2D.Float(coords[4], coords[5])); newPath.curveTo((float)p.getX(), (float)p.getY(), (float)q.getX(), (float)q.getY(),
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(); }
public PerspectiveViewTransformSupport(VisualizationViewer<V,E> vv) { super(vv); this.renderer = vv.getRenderer(); this.renderContext = vv.getRenderContext(); this.pickSupport = renderContext.getPickSupport(); this.perspectiveTransformer = new PerspectiveShapeTransformer(new PerspectiveTransform(), vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.VIEW)); this.savedGraphicsDecorator = renderContext.getGraphicsContext(); this.lensGraphicsDecorator = new TransformingGraphics(perspectiveTransformer); }
public void deactivate() { renderContext.setPickSupport(pickSupport); vv.getRenderContext().getMultiLayerTransformer().setTransformer(Layer.VIEW, perspectiveTransformer.getDelegate()); vv.removePreRenderPaintable(lens); vv.getRenderContext().setGraphicsContext(savedGraphicsDecorator); vv.setRenderer(renderer); vv.setToolTipText(defaultToolTipText); vv.repaint(); } }
/** * @param vv the VisualizationViewer to work on */ public PerspectiveImageLensSupport(VisualizationViewer<V,E> vv) { super(vv); this.renderContext = vv.getRenderContext(); this.pickSupport = renderContext.getPickSupport(); this.renderer = vv.getRenderer(); this.transformingRenderer = new BasicRenderer<V,E>(); this.perspectiveTransformer = new PerspectiveShapeTransformer(new PerspectiveTransform(), vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.VIEW)); this.transformingRenderer.setVertexRenderer(new TransformingImageVertexIconRenderer<V,E>()); this.lensGraphicsDecorator = new TransformingGraphics(perspectiveTransformer); this.savedGraphicsDecorator = renderContext.getGraphicsContext(); this.renderer = vv.getRenderer(); }
/** * @return Returns the hyperbolicTransformer. */ public void paint(Graphics g) { Graphics2D g2d = (Graphics2D)g; g.setColor(Color.decode("0xdddddd")); Shape shape = perspectiveTransformer.perspectiveTransform(rectangle); g2d.fill(shape); g.setColor(Color.gray); g2d.draw(shape); }
switch(type) { case PathIterator.SEG_MOVETO: Point2D p = transform(new Point2D.Float(coords[0], coords[1])); newPath.moveTo((float)p.getX(), (float)p.getY()); break; p = transform(new Point2D.Float(coords[0], coords[1])); newPath.lineTo((float)p.getX(), (float) p.getY()); break; p = transform(new Point2D.Float(coords[0], coords[1])); Point2D q = transform(new Point2D.Float(coords[2], coords[3])); newPath.quadTo((float)p.getX(), (float)p.getY(), (float)q.getX(), (float)q.getY()); break; p = transform(new Point2D.Float(coords[0], coords[1])); q = transform(new Point2D.Float(coords[2], coords[3])); Point2D r = transform(new Point2D.Float(coords[4], coords[5])); newPath.curveTo((float)p.getX(), (float)p.getY(), (float)q.getX(), (float)q.getY(),
switch(type) { case PathIterator.SEG_MOVETO: Point2D p = perspectiveTransform(new Point2D.Float(coords[0], coords[1])); newPath.moveTo((float)p.getX(), (float)p.getY()); break; p = perspectiveTransform(new Point2D.Float(coords[0], coords[1])); newPath.lineTo((float)p.getX(), (float) p.getY()); break; p = perspectiveTransform(new Point2D.Float(coords[0], coords[1])); Point2D q = perspectiveTransform(new Point2D.Float(coords[2], coords[3])); newPath.quadTo((float)p.getX(), (float)p.getY(), (float)q.getX(), (float)q.getY()); break; p = perspectiveTransform(new Point2D.Float(coords[0], coords[1])); q = perspectiveTransform(new Point2D.Float(coords[2], coords[3])); Point2D r = perspectiveTransform(new Point2D.Float(coords[4], coords[5])); newPath.curveTo((float)p.getX(), (float)p.getY(), (float)q.getX(), (float)q.getY(),