Skip to content

Instantly share code, notes, and snippets.

@alprut
Created May 1, 2013 12:07
Show Gist options
  • Save alprut/5494942 to your computer and use it in GitHub Desktop.
Save alprut/5494942 to your computer and use it in GitHub Desktop.
a tcl script to output node IDs and links of NS2 network topology by d3.js JSON format.
Simulator instproc gen-json {fp} {
$self instvar link_
puts $fp "{"
puts $fp "\"links\":\["
set prev ""
foreach li [array names link_] {
set nodes [split $li ":"]
set src [lindex $nodes 0]
set dst [lindex $nodes 1]
if { $src < $dst } {
if { $prev != "" } {
puts $fp "$prev,"
}
set prev "{\"source\":$src,\"target\":$dst}"
}
}
if { $prev != "" } {
puts $fp "$prev"
}
puts $fp "],"
puts $fp "\"nodes\":\["
set prev ""
foreach n [$self all-nodes-list] {
set nid [$n id]
if { $prev != "" } {
puts $fp "$prev,"
}
set prev "{\"id\":\"$nid\"}"
}
if { $prev != "" } {
puts $fp "$prev"
}
puts $fp "]"
puts $fp "}"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment