private void removeVertex(Object vertex) { for (ArcIterator i = digraph.outgoingIterator(vertex); i.hasNext();) { i.next(); Object dst = i.getDestination(); InDegree indegree = (InDegree)inDegrees.get(dst); indegree.value--; } }
public void convert(Digraph digraph) { for (Iterator i = digraph.vertexIterator(); i.hasNext();) { Object origin = i.next(); String key = vertexAccessor.getId(origin).toString(); StringBuffer value = new StringBuffer(); boolean firstDst = true; for (ArcIterator j = digraph.outgoingIterator(origin); j.hasNext();) { j.next(); if (firstDst) { value.append(vertexAccessor.getId(j.getDestination())); firstDst = false; } else value.append(';').append(j.getDestination()); } graphData.setProperty(key, value.toString()); } } public void setVertexAccessor(DataAccessor vertexAccessor) {
public static boolean isAcyclic(Digraph digraph) { int order = digraph.order(); if (order == 0) return true; Set spanned = new HashSet(order); DepthFirstStampSearch dfs = new DepthFirstStampSearch(digraph, digraph.vertexIterator().next()); for (Iterator i = digraph.vertexIterator(); i.hasNext();) { Object dfsRoot = i.next(); if (spanned.contains(dfsRoot)) continue; dfs.reset(dfsRoot); Map dfsOrders = dfs.traverse(new HashMap(digraph.order())); for (Iterator j = dfsOrders.entrySet().iterator(); j.hasNext();) { Map.Entry entry = (Map.Entry)j.next(); Object origin = entry.getKey(); DepthFirstStampSearch.OrderPair orgOrders = (DepthFirstStampSearch.OrderPair)entry.getValue(); spanned.add(origin); for (ArcIterator k = digraph.outgoingIterator(origin); k.hasNext();) { k.next(); Object dst = k.getDestination(); DepthFirstStampSearch.OrderPair dstOrders = (DepthFirstStampSearch.OrderPair)dfsOrders.get(dst); if (dstOrders.getPostOrder() > orgOrders.getPostOrder()) return false; } } if (dfsOrders.size() == order) break; } return true; }
double boxWidth = -horizontalSpacing; double boxHeight = 0; for (ArcIterator i = digraph.outgoingIterator(vertex); i.hasNext(); ) { i.next(); Object child = i.getDestination(); double childBoxX = box.getMinX(); double childBoxY = box.getMinY() + shape.getHeight() + verticalSpacing; for (ArcIterator i = digraph.outgoingIterator(vertex); i.hasNext(); ) { i.next(); Object child = i.getDestination(); double centerX = 0; int childCount = 0; for (ArcIterator i = digraph.outgoingIterator(vertex); i.hasNext(); ) { i.next(); childCount++;
while (printTraversal.hasNext()) { Object vertex = printTraversal.next(); for (ArcIterator i = digraph.outgoingIterator(vertex); i.hasNext(); ) { i.next(); Object child = i.getDestination();
layers[rank].add(wrapper); for (ArcIterator j = digraph.outgoingIterator(vertex); j.hasNext(); ) { j.next(); Object dst = j.getDestination();