public void startNodeCreate(BasicVisualizationServer<N, E> vv, Point2D point) { Preconditions.checkState( vv.getModel().getNetwork() instanceof MutableNetwork<?, ?>, "graph must be mutable"); N newNode = nodeFactory.get(); VisualizationModel<N, E> visualizationModel = vv.getModel(); MutableNetwork<N, E> graph = (MutableNetwork<N, E>) visualizationModel.getNetwork(); graph.addNode(newNode); Point2D p2d = vv.getRenderContext().getMultiLayerTransformer().inverseTransform(point); visualizationModel.getLayoutModel().set(newNode, p2d.getX(), p2d.getY()); vv.repaint(); }
@Override public void endEdgeCreate(BasicVisualizationServer<N, E> vv, N endNode) { Preconditions.checkState( vv.getModel().getNetwork() instanceof MutableNetwork<?, ?>, "graph must be mutable"); if (startNode != null) { MutableNetwork<N, E> graph = (MutableNetwork<N, E>) vv.getModel().getNetwork(); graph.addEdge(startNode, endNode, edgeFactory.get()); vv.getEdgeSpatial().recalculate(); vv.repaint(); } startNode = null; edgeEffects.endEdgeEffects(vv); edgeEffects.endArrowEffects(vv); }
@Override public void startEdgeCreate(BasicVisualizationServer<N, E> vv, N startNode, Point2D startPoint) { this.startNode = startNode; this.down = startPoint; this.edgeEffects.startEdgeEffects(vv, startPoint, startPoint); if (vv.getModel().getNetwork().isDirected()) { this.edgeEffects.startArrowEffects(vv, startPoint, startPoint); } vv.repaint(); }
@Override public void midEdgeCreate(BasicVisualizationServer<N, E> vv, Point2D midPoint) { if (startNode != null) { this.edgeEffects.midEdgeEffects(vv, down, midPoint); if (vv.getModel().getNetwork().isDirected()) { this.edgeEffects.midArrowEffects(vv, down, midPoint); } vv.repaint(); } }