@Override public Iterable<Edge> getElements() { return graph.getEdges(); }
private EdgeIterable getEdgeIter(Graph graph, Node v, boolean directed) { EdgeIterable edgeIter; if (directed) { edgeIter = ((DirectedGraph) graph).getOutEdges(v); } else { edgeIter = graph.getEdges(v); } return edgeIter; }
@Override public Number[] getValues(Graph graph) { List<Number> values = new ArrayList<>(); for (Edge e : graph.getEdges()) { double weight = e.getWeight(graph.getView()); values.add(weight); } return values.toArray(new Number[0]); }
/** * Used for iterating through all edges of the graph * * @return Array with all graph edges */ private Edge[] getEdgesArray() { return Lookup.getDefault().lookup(GraphController.class).getGraphModel().getGraph().getEdges().toArray(); }
@Override public boolean evaluate(Graph graph, Node node) { EdgeIterable edgeIterable = graph.getEdges(node); for (Edge e : edgeIterable) { if (e.isSelfLoop()) { edgeIterable.doBreak(); return true; } } return false; }
@Override public Edge[] getNodeEdges(Node node) { return getCurrentGraph().getEdges(node).toArray(); }
@Override public void execute() { GraphElementsController gec = Lookup.getDefault().lookup(GraphElementsController.class); Graph graph = Lookup.getDefault().lookup(GraphController.class).getGraphModel().getGraph(); List<Edge> edges = new ArrayList<>(); for (Edge edge : graph.getEdges().toArray()) { if (edge.isDirected()) { if(deleteDirected){ edges.add(edge); } }else if (deleteUndirected) { edges.add(edge); } } gec.deleteEdges(edges.toArray(new Edge[0])); }
private double computeMaxValueAndTempValues(Graph graph, HashMap<Integer, Node> indicies, HashMap<Node, Integer> invIndicies, double[] tempValues, double[] centralityValues, boolean directed) { double max = 0.; int N = graph.getNodeCount(); for (int i = 0; i < N; i++) { Node u = indicies.get(i); EdgeIterable iter; if (directed) { iter = ((DirectedGraph) graph).getInEdges(u); } else { iter = graph.getEdges(u); } for (Edge e : iter) { Node v = graph.getOpposite(u, e); Integer id = invIndicies.get(v); tempValues[i] += centralityValues[id]; } max = Math.max(max, tempValues[i]); if (isCanceled) { return max; } } return max; }
/** * Sets edgesToSearch as all edges in the graph if they are null or empty array. * Also only search on visible view if data table is showing visible only. */ private void checkEdgesToSearch() { if (edgesToSearch == null || edgesToSearch.length == 0) { Graph hg; if (Lookup.getDefault().lookup(DataTablesController.class).isShowOnlyVisible()) { hg = Lookup.getDefault().lookup(GraphController.class).getGraphModel().getGraphVisible(); } else { hg = Lookup.getDefault().lookup(GraphController.class).getGraphModel().getGraph(); } edgesToSearch = hg.getEdges().toArray(); } }
@Override public void execute(GraphModel graphModel) { Graph graph = graphModel.getGraphVisible(); selfLoopCount = 0; totalEdgeCount = graph.getEdgeCount(); for (Edge e : graph.getEdges()) { if (e.isSelfLoop()) { selfLoopCount++; } } }
public float getAverageEdgeLength(Graph graph) { float edgeLength = 0; int count = 1; for (Edge e : graph.getEdges()) { edgeLength += ForceVectorUtils.distance( e.getSource(), e.getTarget()); count++; } return edgeLength / count; }
private void initCache() { int maxNodeStoreId = graphStore.nodeStore.maxStoreId(); nodeCache = new NodeImpl[maxNodeStoreId]; for (Node n : graph.getNodes()) { NodeImpl nImpl = (NodeImpl) n; nodeCache[nImpl.storeId] = nImpl; } int maxEdgeStoreId = graphStore.edgeStore.maxStoreId(); edgeCache = new EdgeImpl[maxEdgeStoreId]; for (Edge e : graph.getEdges()) { EdgeImpl eImpl = (EdgeImpl) e; edgeCache[eImpl.storeId] = eImpl; } }
private void initCache() { int maxNodeStoreId = graphStore.nodeStore.maxStoreId(); nodeCache = new NodeImpl[maxNodeStoreId]; for (Node n : graph.getNodes()) { NodeImpl nImpl = (NodeImpl) n; nodeCache[nImpl.storeId] = nImpl; } int maxEdgeStoreId = graphStore.edgeStore.maxStoreId(); edgeCache = new EdgeImpl[maxEdgeStoreId]; for (Edge e : graph.getEdges()) { EdgeImpl eImpl = (EdgeImpl) e; edgeCache[eImpl.storeId] = eImpl; } }
@Override public Number[] getValues(Graph graph) { List<Number> vals = new ArrayList<>(); if (AttributeUtils.isNodeColumn(column)) { for (Element n : graph.getNodes()) { Object val = n.getAttribute(column, graph.getView()); if (val != null) { vals.add((Number) val); } } } else { for (Element e : graph.getEdges()) { Object val = e.getAttribute(column, graph.getView()); if (val != null) { vals.add((Number) val); } } } return vals.toArray(new Number[0]); }
@Override public Number[] getValues(Graph graph) { List<Number> vals = new ArrayList<>(); if (AttributeUtils.isNodeColumn(column)) { for (Element n : graph.getNodes()) { Object val = n.getAttribute(column, graph.getView()); if (val != null) { vals.add((Number) val); } } } else { for (Element e : graph.getEdges()) { Object val = e.getAttribute(column, graph.getView()); if (val != null) { vals.add((Number) val); } } } return vals.toArray(new Number[0]); }
@Override public void actionPerformed(ActionEvent evt) { GraphController gc = Lookup.getDefault().lookup(GraphController.class); GraphModel gm = gc.getGraphModel(); Graph graph = gm.getGraphVisible(); for (Node n : graph.getNodes()) { n.getTextProperties().setVisible(true); } for (Edge e : graph.getEdges()) { e.getTextProperties().setVisible(true); } } });
@Override public Graph filter(Graph graph) { visibleInterval = new Interval(range.getLowerDouble(), range.getUpperDouble()); List<Node> toRemoveNodes = new ArrayList<>(); for (Node n : graph.getNodes()) { if (!evaluateElement(n)) { toRemoveNodes.add(n); } } graph.removeAllNodes(toRemoveNodes); List<Edge> toRemoveEdge = new ArrayList<>(); for (Edge e : graph.getEdges()) { if (!evaluateElement(e)) { toRemoveEdge.add(e); } } graph.removeAllEdges(toRemoveEdge); graph.getModel().setTimeInterval(graph.getView(), visibleInterval); return graph; }
@Override public void actionPerformed(ActionEvent evt) { GraphController gc = Lookup.getDefault().lookup(GraphController.class); GraphModel gm = gc.getGraphModel(); Graph graph = gm.getGraphVisible(); for (Node n : graph.getNodes().toArray()) { n.getTextProperties().setColor(Color.BLACK); n.getTextProperties().setAlpha(0f); } for (Edge e : graph.getEdges().toArray()) { e.getTextProperties().setColor(Color.BLACK); e.getTextProperties().setAlpha(0f); } } });
@Override protected void refresh() { if (index != null && index.isSortable(column)) { min = index.getMinValue(column); max = index.getMaxValue(column); } else { ElementIterable<? extends Element> iterable = AttributeUtils.isNodeColumn(column) ? graph.getNodes() : graph.getEdges(); if (column.isDynamic()) { refreshDynamic(iterable); } else { refreshNotIndexed(iterable); } } }
@Override public Item[] getItems(Graph graph) { EdgeItem[] items = new EdgeItem[graph.getEdgeCount()]; int i = 0; for (Edge e : graph.getEdges()) { EdgeItem item = new EdgeItem(e); item.setData(EdgeItem.WEIGHT, e.getWeight(graph.getView())); item.setData(EdgeItem.DIRECTED, e.isDirected()); if (graph.isDirected(e)) { item.setData(EdgeItem.MUTUAL, ((DirectedGraph) graph).getMutualEdge(e) != null); } item.setData(EdgeItem.SELF_LOOP, e.isSelfLoop()); item.setData(EdgeItem.COLOR, e.alpha() == 0 ? null : e.getColor()); items[i++] = item; } return items; }