@Override public boolean isSelfLoop(Edge edge) { return edge.isSelfLoop(); }
@Override public boolean isSelfLoop(final Edge edge) { return edge.isSelfLoop(); }
@Override public boolean evaluate(Graph graph, Edge edge) { return !edge.isSelfLoop(); }
@Override public boolean isSelfLoop(Edge edge) { return edge.isSelfLoop(); }
@Override public boolean isSelfLoop(final Edge edge) { return edge.isSelfLoop(); }
@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; }
public EdgeModel initModel(Edge edge, NodeModel sourceModel, NodeModel targetModelImpl) { EdgeModel edgeModel; if (edge.isSelfLoop()) { edgeModel = new SelfLoopModel(edge, sourceModel); } else { edgeModel = new Edge2dModel(edge, sourceModel, targetModelImpl); } return edgeModel; }
void updateAutorithy(Graph graph, double[] newValues, double[] hubValues, boolean isDirected, Map<Node, Integer> indices) { double norm = 0; for (Node q : indices.keySet()) { double auth = 0; EdgeIterable edge_iter; if (isDirected) { edge_iter = ((DirectedGraph) graph).getInEdges(q); } else { edge_iter = graph.getEdges(q); } for (Edge edge : edge_iter) { if (!edge.isSelfLoop()) { Node p = graph.getOpposite(q, edge); auth += hubValues[indices.get(p)]; } } newValues[indices.get(q)] = auth; norm += auth * auth; if (isCanceled) { return; } } norm = Math.sqrt(norm); if (norm > 0) { for (int i = 0; i < newValues.length; i++) { newValues[i] = newValues[i] / norm; } } }
void updateHub(Graph graph, double[] newValues, double[] authValues, boolean isDirected, Map<Node, Integer> indices) { double norm = 0; for (Node p : indices.keySet()) { double hub = 0; EdgeIterable edge_iter; if (isDirected) { edge_iter = ((DirectedGraph) graph).getOutEdges(p); } else { edge_iter = graph.getEdges(p); } for (Edge edge : edge_iter) { if (!edge.isSelfLoop()) { Node r = graph.getOpposite(p, edge); hub += authValues[indices.get(r)]; } } newValues[indices.get(p)] = hub; norm += hub * hub; if (isCanceled) { return; } } norm = Math.sqrt(norm); if (norm > 0) { for (int i = 0; i < newValues.length; i++) { newValues[i] = newValues[i] / norm; } } }
@Override public void execute(GraphModel graphModel) { Graph graph = graphModel.getGraphVisible(); selfLoopCount = 0; totalEdgeCount = graph.getEdgeCount(); for (Edge e : graph.getEdges()) { if (e.isSelfLoop()) { selfLoopCount++; } } }
@Override public boolean evaluate(Graph graph, Edge edge) { DirectedGraph directedGraph = (DirectedGraph) graph; //Make sure the edge is not self loop if (!edge.isSelfLoop()) { //Get the potential mutual edge Edge mutualEdge = directedGraph.getMutualEdge(edge); //Remove the mutual edge if exists //Make sure only one of the two mutual edges will be removed if (mutualEdge != null && mutualEdge.getStoreId() < edge.getStoreId()) { return false; } } return true; }
private void setInitialValues(Graph graph, Map<Node, Integer> indicies, double[] pagerankValues, double[] weights, boolean directed, boolean useWeights) { final int N = graph.getNodeCount(); for (Node s : graph.getNodes()) { final int index = indicies.get(s); pagerankValues[index] = 1.0 / N; if (useWeights) { double sum = 0; EdgeIterable eIter; if (directed) { eIter = ((DirectedGraph) graph).getOutEdges(s); } else { eIter = ((UndirectedGraph) graph).getEdges(s); } for (Edge edge : eIter) { if(!edge.isSelfLoop()){ sum += edge.getWeight(); } } weights[index] = sum; } } }
@Override public void actionPerformed(ActionEvent e) { //Get the current graph model GraphController gc = Lookup.getDefault().lookup(GraphController.class); GraphModel graphModel = gc.getGraphModel(); if (graphModel != null) { //Remove self loops int removed = 0; Graph graph = graphModel.getGraph(); graph.writeLock(); for (Edge edge : graph.getEdges().toArray()) { if (edge.isSelfLoop()) { graph.removeEdge(edge); removed++; } } graph.writeUnlock(); //Notification message NotifyDescriptor d = new NotifyDescriptor.Message(removed + " self-loop have been removed", NotifyDescriptor.INFORMATION_MESSAGE); DialogDisplayer.getDefault().notify(d); } else { //Error message NotifyDescriptor d = new NotifyDescriptor.Message("No active workspace", NotifyDescriptor.ERROR_MESSAGE); DialogDisplayer.getDefault().notify(d); } } }
private Map<Node, Set<Node>> calculateInNeighborsPerNode(Graph graph, boolean directed) { Map<Node, Set<Node>> inNeighborsPerNode = new Object2ObjectOpenHashMap<>(); NodeIterable nodesIterable = graph.getNodes(); for (Node node : nodesIterable) { Set<Node> nodeInNeighbors = new ObjectOpenHashSet<>(); EdgeIterable edgesIterable; if (directed) { edgesIterable = ((DirectedGraph) graph).getInEdges(node); } else { edgesIterable = graph.getEdges(node); } for (Edge edge : edgesIterable) { if (!edge.isSelfLoop()) { Node neighbor = graph.getOpposite(node, edge); nodeInNeighbors.add(neighbor); } if (isCanceled) { edgesIterable.doBreak(); break; } } inNeighborsPerNode.put(node, nodeInNeighbors); if (isCanceled) { nodesIterable.doBreak(); break; } } return inNeighborsPerNode; }
for (Edge e : edges) { for (Edge f : edges) { if (e != f && graph.contains(e) && graph.contains(f) && !e.isSelfLoop() && !f.isSelfLoop()) { Node s1 = e.getSource(); Node t1 = e.getTarget();
} else { for (Edge e : graph.getEdges(n)) { totalWeight += (e.isSelfLoop() ? 2 : 1) * e.getWeight();
if (!edge.isSelfLoop()) { Node neighbor = graph.getOpposite(node, edge); inWeightPerNeighbor.addTo(neighbor, edge.getWeight());
@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; }
(Color) targetItem.getData(NodeItem.COLOR)); item.setData(EDGE_COLOR, color); if (edge.isSelfLoop()) {