public void readTreeStructure(XMLStreamReader reader, GraphModel graphModel, GraphFactory factory, LegacyMapHelper mapHelper) throws XMLStreamException { Graph graph = graphModel.getGraph(); boolean end = false; while (reader.hasNext() && !end) { int type = reader.next(); switch (type) { case XMLStreamReader.START_ELEMENT: String name = reader.getLocalName(); if (ELEMENT_TREESTRUCTURE_NODE.equalsIgnoreCase(name)) { String id = reader.getAttributeValue(null, "id"); String pre = reader.getAttributeValue(null, "pre"); mapHelper.preToIdMap.put(pre, id); Node node = factory.newNode(id); graph.addNode(node); } break; case XMLStreamReader.END_ELEMENT: if (ELEMENT_TREESTRUCTURE.equalsIgnoreCase(reader.getLocalName())) { end = true; } break; } } }
Node destNode = graph.getNode(mapHelper.preToIdMap.get(target)); Edge edge = factory.newEdge(id, srcNode, destNode, 0, weight.doubleValue(), directed); graph.addEdge(edge);
private Node buildNode(Graph graph, String label, String id) { Node newNode; if (id != null) { newNode = graph.getModel().factory().newNode(id); } else { newNode = graph.getModel().factory().newNode(); } newNode.setSize(DEFAULT_NODE_SIZE); newNode.setLabel(label); //Set random position to the node: newNode.setX((float) ((0.01 + Math.random()) * 1000) - 500); newNode.setY((float) ((0.01 + Math.random()) * 1000) - 500); return newNode; }
private Edge buildEdge(Graph graph, String id, Node source, Node target, boolean directed, Object typeLabel) { int type; if(typeLabel == null){ type = graph.getModel().getEdgeType(null); } else { //Create the type if missing: type = graph.getModel().addEdgeType(typeLabel); } Edge newEdge; if (id != null) { newEdge = graph.getModel().factory().newEdge(id, source, target, type, DEFAULT_EDGE_WEIGHT, directed); } else { newEdge = graph.getModel().factory().newEdge(source, target, type, DEFAULT_EDGE_WEIGHT, directed); } return newEdge; }
@Override public void clickNodes(Node[] nodes) { //Get mouse position float[] position3d = VizController.getInstance().getGraphIO().getMousePosition3d(); //Get current graph GraphController gc = Lookup.getDefault().lookup(GraphController.class); Graph graph = gc.getGraphModel().getGraph(); GraphFactory factory = gc.getGraphModel().factory(); //Add node Node node = factory.newNode(); node.setX(position3d[0]); node.setY(position3d[1]); node.setSize(10f); graph.addNode(node); //Add edges with the clicked nodes for (Node n : nodes) { Edge edge = factory.newEdge(node, n); graph.addEdge(edge); } } }};
@Override public void mouseClick(int[] positionViewport, float[] position3d) { //Get current graph GraphController gc = Lookup.getDefault().lookup(GraphController.class); Graph graph = gc.getGraphModel().getGraph(); GraphFactory factory = gc.getGraphModel().factory(); //Add node Node node = factory.newNode(); node.setX(position3d[0]); node.setY(position3d[1]); node.setSize(10f); graph.addNode(node); } },
Node n0 = graphModel.factory().newNode("n0"); n0.setLabel("Node 0"); Node n1 = graphModel.factory().newNode("n1"); n1.setLabel("Node 1"); Node n2 = graphModel.factory().newNode("n2"); n2.setLabel("Node 2"); Edge e1 = graphModel.factory().newEdge(n1, n2, 0, 1.0, true); Edge e2 = graphModel.factory().newEdge(n0, n2, 0, 2.0, true); Edge e3 = graphModel.factory().newEdge(n2, n0, 0, 2.0, true); //This is e2's mutual edge
@Override public void mouseClick(int[] positionViewport, float[] position3d) { color = nodePencilPanel.getColor(); size = nodePencilPanel.getNodeSize(); GraphController gc = Lookup.getDefault().lookup(GraphController.class); GraphModel gm = gc.getGraphModel(); Graph graph = gm.getGraph(); Node node = gm.factory().newNode(); node.setX(position3d[0]); node.setY(position3d[1]); node.setSize(size); node.setColor(color); graph.addNode(node); } };