public Shape transform(VertexNode v) { int margin = 10; int width = v.getDim().width; int height = v.getDim().height; // return new Rectangle(-105,-55,210,110); // return new Rectangle(0,0, width+margin,height+margin); return new Rectangle( (width + margin) / -2, (height + margin) / -2, width + margin, height + margin); // return factory.getRegularPolygon(v, 4); //Return the Shape, in this case a square, ie. 4 // sides. }
@Override public Paint transform(VertexNode nn) { VertexNode source = g.getStartNode(); if (source == null) { return Color.RED; } if (distances.getDistance(source, nn) == null) { return Color.RED; } if (nn.isStartNode() && nn.isEndNode()) { return Color.ORANGE; } if (nn.isStartNode() && nn.isRandomNode()) { return Color.YELLOW; } if (nn.isEndNode()) { return Color.MAGENTA; } if (nn.isStartNode()) { return Color.GREEN; } if (nn.isRandomNode()) { return Color.CYAN; } return Color.WHITE; }
public AbstractCKGraphEditor(AbstractGraph g, VertexNode v, EdgeLink e) { super(new StaticLayout<VertexNode, EdgeLink>(g, locationTransformer), new Dimension(800, 900)); this.g = g; distances = new DijkstraDistance<VertexNode, EdgeLink>(g); this.vFactory = v; this.eFactory = e; vFactory.setGraph(g); eFactory.setGraph(g); setRenderSettings(); setMouseSettings(); this.addChangeListener( new ChangeListener() { public void stateChanged(ChangeEvent e) { distances.reset(); } }); }
@Override public Icon transform(VertexNode v) { return v.getIcon(); }
@Override public Point2D transform(VertexNode vertex) { return vertex.getPos(); }