global link_list
global canvas_list
global curcanvas
- puts $curcanvas
global cfg
set cfg {}
set node_list {}
global node_list
global activetool
#with next foreach loop we divide nodes on layer3/router
-#nodes and peripheral (pc, host) nodes
+#nodes and edge (pc, host) nodes
set routers {}
- set peripheralNodes {}
+ set edgeNodes {}
foreach node $node_list {
set type [nodeType $node]
if { $type == "router" } {
lappend routers $node
} else {
- lappend peripheralNodes $node
+ lappend edgeNodes $node
}
}
set center {450 310}
#regular peers (pc or host) are placed above them
foreach rnode $routers {
set fi [expr $i*(2*$pi)/$rnum]
- set r [expr 200*(1.0-0.5*abs(sin($fi)))]
+ set r [expr 200*(1.0-0.4*abs(sin($fi)))]
set ximage [expr [lindex $center 0] - $r*cos($fi)]
set yimage [expr [lindex $center 1] - $r*sin($fi)]
incr i
}
if { $routers == "" } {
- set fi [expr $i*(2*$pi)/[llength $peripheralNodes]]
- set r [expr 200*(1.0-0.5*abs(sin($fi)))]
- set ximage [expr [lindex $center 0] - $r*cos($fi)]
- set yimage [expr [lindex $center 1] - $r*sin($fi)]
- setNodeCoords $peer "$ximage1 $yimage1"
- set dy 32
-
- setNodeLabelCoords $peer "$ximage1 [expr $yimage1 + $dy]"
+ set i 0
+ foreach node $edgeNodes {
+ set fi [expr $i*(2*$pi)/[llength $edgeNodes]]
+ set r [expr 200*(1.0-0.5*abs(sin($fi)))]
+ set ximage [expr [lindex $center 0] - $r*cos($fi)]
+ set yimage [expr [lindex $center 1] - $r*sin($fi)]
+ setNodeCoords $node "$ximage $yimage"
+ set dy 32
+ setNodeLabelCoords $node "$ximage [expr $yimage + $dy]"
+ incr i
+ }
}
}