--- a/src/contrib/visualizer/core.py Fri Dec 12 15:05:31 2008 +0000
+++ b/src/contrib/visualizer/core.py Fri Dec 12 15:49:43 2008 +0000
@@ -1,4 +1,5 @@
# -*- Mode: python; coding: utf-8 -*-
+from __future__ import division
#from __future__ import with_statement
LAYOUT_ALGORITHM = 'neato' # ['neato'|'dot'|'twopi'|'circo'|'fdp'|'nop']
@@ -682,8 +683,14 @@
self.window.show()
def scan_topology(self):
+ print "scanning topology: %i nodes..." % (ns3.NodeList.GetNNodes(),)
graph = pygraphviz.AGraph()
+ seen_nodes = 0
for nodeI in range(ns3.NodeList.GetNNodes()):
+ seen_nodes += 1
+ if seen_nodes == 100:
+ print "scan topology... %i nodes visited (%.1f%%)" % (nodeI, 100*nodeI/ns3.NodeList.GetNNodes())
+ seen_nodes = 0
node = ns3.NodeList.GetNode(nodeI)
node_name = "Node %i" % nodeI
node_view = self.get_node(nodeI)
@@ -735,6 +742,7 @@
graph.add_edge(node_name, other_node_name)
self.create_link(self.get_node(nodeI), otherNodeView)
+ print "scanning topology: calling graphviz layout"
graph.layout(LAYOUT_ALGORITHM)
for node in graph.iternodes():
#print node, "=>", node.attr['pos']
@@ -746,6 +754,7 @@
obj = self.channels[int(node_id)]
obj.set_position(pos_x, pos_y)
+ print "scanning topology: all done."
self.emit("topology-scanned")
def get_node(self, index):