1 25 40 package org.jgrapht.experimental.touchgraph; 41 42 import com.touchgraph.graphlayout.*; 43 44 import java.util.*; 45 46 import org.jgrapht.*; 47 48 49 55 public class TouchgraphConverter<V, E> 56 { 57 58 60 86 @SuppressWarnings ("unchecked") 87 public Node convertToTouchGraph( 88 Graph<V, E> graph, 89 TGPanel tgPanel, 90 boolean selfReferencesAllowed) 91 throws TGException 92 { 93 List<V> jgtNodes = new ArrayList<V>(graph.vertexSet()); 94 Node [] tgNodes = new Node [jgtNodes.size()]; 95 96 for (int i = 0; i < jgtNodes.size(); i++) { 98 Node n; 99 if (jgtNodes.get(i) instanceof Node) { 100 n = (Node) jgtNodes.get(i); 102 } else { 103 n = new Node(jgtNodes.get(i).toString()); 106 } 107 108 tgNodes[i] = n; 110 111 tgPanel.addNode(n); 113 } 114 115 for (int i = 0; i < tgNodes.length; i++) { 117 for (int j = 0; j < tgNodes.length; j++) { 118 if ((i != j) || selfReferencesAllowed) { 122 if ( 123 graph.getEdge(jgtNodes.get(i), jgtNodes.get(j)) 124 != null) { 125 tgPanel.addEdge(new Edge(tgNodes[i], tgNodes[j])); 127 } 128 } 129 } 130 } 131 132 return tgNodes[0]; 134 } 135 } 136 137 | Popular Tags |