Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Moving platform_generation to contrib/
[simgrid.git] / tools / platform_generation / graph_viz.pm
diff --git a/tools/platform_generation/graph_viz.pm b/tools/platform_generation/graph_viz.pm
deleted file mode 100644 (file)
index 2338d07..0000000
+++ /dev/null
@@ -1,321 +0,0 @@
-#!/usr/bin/perl -w
-use strict;
-
-#################################
-###    GRAPH VISUALISATION    ###
-#################################
-
-sub graph2viz{
-    my($nodes,$edges,$filename) = @_;
-
-    open VIZ, "> $filename.dot";
-    print VIZ "graph essai  { \n";
-    print VIZ "  graph [overlap=scale]\n";
-    #print VIZ "  graph [overlap=false spline=true]\n";
-    print VIZ "  node [shape=box, style=filled]\n";
-    print VIZ "  node [width=.3, height=.3, style=filled, color=skyblue]\n";
-
-    my($u,$e);
-    foreach $u (sort (keys %$nodes)){
-       print VIZ "  \"$u\" [label=\"$u\"";
-#      if((defined($$nodes{$u}{max_interf}))&&($$nodes{$u}{max_interf}==1)) {print VIZ ",color=green";}
-       if(defined($$nodes{$u}{host}) && ($$nodes{$u}{host}==1)) {print VIZ ",color=red";}
-       print VIZ "];\n";
-    }
-
-    foreach $e (sort (keys %$edges)){
-       my($src)=$$edges{$e}{src};
-       my($dst)=$$edges{$e}{dst};
-#      my($len)=log(10000/$$edges{$e}{bw});
-       print VIZ "  \"$src\" -- \"$dst\" [";
-#      print VIZ "len=$len";
-#      print VIZ "label=$e";
-       if($#{$$edges{$e}{using_path}}>=0) {
-           print VIZ "color=red";
-       } else {
-           print VIZ "color=gray";
-       }
-       print VIZ "];\n";
-    }
-
-    print VIZ "}\n";
-    close VIZ;
-
-    system("neato -Tps $filename.dot  > $filename.ps");
-#    system("gv $filename.ps");
-    system("pstoedit -f fig $filename.ps $filename.fig 2>/dev/null");
-#    system("xfig -startg 0 $filename.fig ");
-}
-
-sub digraph2viz{
-    my($nodes,$edges,$filename) = @_;
-
-    open VIZ, "> $filename.dot";
-    print VIZ "digraph essai  { \n";
-    print VIZ "  graph [overlap=scale]\n";
-    #print VIZ "  graph [overlap=false spline=true]\n";
-    print VIZ "  node [shape=box, style=filled]\n";
-    print VIZ "  node [width=.3, height=.3, style=filled, color=skyblue]\n";
-
-    my($u,$e);
-    foreach $u (sort (keys %$nodes)){
-       print VIZ "  $u [label=$u";
-       if((defined($$nodes{$u}{host}))&&($$nodes{$u}{host}==1)) {print VIZ ",color=red";}
-       print VIZ "];\n";
-    }
-
-    foreach $e (sort (keys %$edges)){
-       my($src)=$$edges{$e}{src};
-       my($dst)=$$edges{$e}{dst};
-#      my($len)=log(10000/$$edges{$e}{bw});
-       print VIZ "  $src -> $dst\n";
-#      print VIZ "len=$len";
-#      print VIZ "label=$e";
-    }
-
-    print VIZ "}\n";
-    close VIZ;
-
-    system("dot -Tps $filename.dot  > $filename.ps");
-#    system("gv $filename.ps");
-    system("pstoedit -f fig $filename.ps $filename.fig 2>/dev/null");
-    system("xfig -startg 0 $filename.fig ");
-}
-
-sub graph2fig_basic{
-    my($nodes,$edges,$filename) = @_;
-
-    open VIZ, "> $filename.fig";
-
-    print VIZ "#FIG 3.2\n";
-    print VIZ "Landscape\n";
-    print VIZ "Center\n";
-    print VIZ "Metric\n";
-    print VIZ "A4\n";
-    print VIZ "100.00\n";
-    print VIZ "Single\n";
-    print VIZ "-2\n";
-    print VIZ "1200 2\n";
-
-    my($scale)=5;
-
-    my($u,$e);
-    foreach $u (sort (keys %$nodes)){
-       my($x) = $scale * $$nodes{$u}{X};
-       my($y) = $scale * $$nodes{$u}{Y};
-       print VIZ "4 1 0 50 -1 0 12 0.0000 0 135 270 $x $y $u\\001\n";
-    }
-
-    foreach $e (sort (keys %$edges)){
-       my($src)=$$edges{$e}{src};
-       my($dst)=$$edges{$e}{dst};
-       my($x1) = $scale * $$nodes{$src}{X};
-       my($y1) = $scale * $$nodes{$src}{Y};
-       my($x2) = $scale * $$nodes{$dst}{X};
-       my($y2) = $scale * $$nodes{$dst}{Y};
-       print VIZ "2 1 0 1 4 7 50 -1 -1 0.000 0 0 -1 0 0 2\n";
-       print VIZ "\t $x1 $y1 $x2 $y2\n";
-    }
-    close VIZ;
-
-    system("xfig -startg 0 $filename.fig ");
-}
-
-sub interfgraph2viz{
-    my($nodes,$edges,$count_interferences,$value_interferences,$figbase,$filename) = @_;
-
-    system("cp $figbase.fig $filename.fig");
-    open FIG, ">> $filename.fig";
-    my($e);
-    foreach $e (@{$$count_interferences{$value_interferences}}){
-       my($src)=$$e[0];
-       my($dst)=$$e[1];
-       my(@tab);
-       print STDERR "($src - $dst)\n";
-       $src = `grep ' $src\\\\001' $filename.fig`;
-       $dst = `grep ' $dst\\\\001' $filename.fig`;
-       @tab = split(/\s+/,$src);
-       my($x1) = $tab[11];
-       my($y1) = $tab[12];
-       @tab = split(/\s+/,$dst);
-       my($x2) = $tab[11];
-       my($y2) = $tab[12];
-       print FIG "2 1 0 3 14 7 999 -1 -1 0.000 0 0 -1 0 0 2\n";
-       print FIG "\t $x1 $y1 $x2 $y2\n";
-#      print VIZ "  $src -- $dst [color=green];\n";
-    }
-    close(FIG);
-#    system("xfig -startg 0 $filename.fig ");
-    system("fig2dev -L png $filename.fig $filename.png");
-    unlink("$filename.fig");
-}
-
-
-sub graph_get_layout{
-    my($nodes,$edges,$filename) = @_;
-
-    graph2viz($nodes,$edges,$filename);
-    
-    my($u);
-    foreach $u (sort (keys %$nodes)){
-       my($val_u) = `grep ' $u\\\\001' $filename.fig`;
-       my(@tab) = split(/\s+/,$val_u);
-       my($x1) = $tab[11];
-       my($y1) = $tab[12];
-       $$nodes{$u}{X}=$x1;
-       $$nodes{$u}{Y}=$y1;
-    }
-}
-
-sub graph2viz_withlayout{
-    my($nodes,$edges,$filename) = @_;
-
-    open FIG, ">> $filename.fig";
-    my($e,$u);
-    foreach $u (sort (keys %$nodes)){
-       my($x1) = int ($$nodes{$u}{X});
-       my($y1) = int ($$nodes{$u}{Y});
-       print FIG "1 3 0 1 0 31 50 -1 20 0.000 1 0.0000 $x1 $y1 75 75 $x1 $y1 ".($x1+75)." $y1\n";
-    }
-    foreach $e (sort (keys %$edges)){
-       my($src)=$$edges{$e}{src};
-       my($dst)=$$edges{$e}{dst};
-       my($x1) = int ($$nodes{$src}{X});
-       my($y1) = int ($$nodes{$src}{Y});
-       my($x2) = int ($$nodes{$dst}{X});
-       my($y2) = int ($$nodes{$dst}{Y});
-       print FIG "2 1 0 3 14 7 60 -1 -1 0.000 0 0 -1 0 0 2\n";
-       print FIG "\t $x1 $y1 $x2 $y2\n";
-    }
-    close(FIG);
-#    system("xfig -startg 0 $filename.fig ");
-#    system("fig2dev -L png $filename.fig $filename.png");
-}
-
-sub print_matrix{
-    my($M) = shift;
-
-    if(!defined($M)) {return;}
-    my($u,$v);
-
-    my(@node_list) = sort (keys %$M);
-    my($n) =  scalar(@node_list);
-
-    foreach $u (0..$n-1){
-        print "==";
-    }
-    print "\n";
-
-    foreach $u (@node_list){
-       if(defined($$M{$u})) {
-           foreach $v (@node_list){
-               if(defined($$M{$u}{$v})){
-                   print "$$M{$u}{$v} ";
-               } else {
-                   print "  ";
-               }
-           }
-       }
-        print "\n";
-    }
-    foreach $u (0..$n-1){
-        print "==";
-    }
-    print "\n\n";
-}
-
-sub matrix2viz{
-    my($M) = shift;
-    my($filename) = "foo";
-    open VIZ, "> $filename.dot";
-
-    print VIZ "# Brite topology translated by Alvin\n";
-    print VIZ "graph essai  { \n";
-    print VIZ "  graph [overlap=scale]\n";
-
-    #print VIZ "  graph [overlap=false spline=true]\n";
-    print VIZ "  node [shape=box, style=filled]\n";
-    print VIZ "  node [width=.3, height=.3, style=filled, color=skyblue]\n";
-    my(@node_list) = sort (keys %$M);
-    my($n) =  scalar(@node_list);
-
-    my($u,$v);
-    foreach $u (@node_list){
-       print VIZ "  $u [label=$u, color = red];\n";
-    }
-
-    foreach $u (@node_list){
-        foreach $v (@node_list){
-            if($$M{$u}{$v}!=0){
-                print VIZ "  $u -- $v ;\n";
-            }
-        }
-    }
-    print VIZ "}\n";
-    close VIZ;
-
-    system("neato -Tps $filename.dot  > $filename.ps");
-    system("gv $filename.ps");
-}
-
-
-sub print_object {
-    my($M) = @_;
-    my($key);
-    if(!defined($M)) {
-    } elsif (!ref($M)) {
-       print "\"$M\"";
-       return;
-    } elsif (ref($M) eq "SCALAR") {
-       print "\"$$M\"";
-       return;
-    } elsif (ref($M) eq "HASH") {
-       print "{";
-       foreach $key (sort (keys %{$M})) {
-           if($key eq "number_hops") {next;}
-           if($key eq "shortest_route") {next;}
-           if($key eq "using_path") {next;}
-           print "\"$key\" => ";
-           print_object($$M{$key});
-           print ","
-       }
-       print "}";
-    } elsif (ref($M) eq "ARRAY") {
-       print "[";
-       foreach $key (0..$#$M) {
-           print_object($$M[$key]);
-           print ","
-       }
-       print "]";
-    } else {
-    }
-}
-
-# sub print_object{
-#     my($indent,$M) = @_;
-#     my($key);
-#     if (!ref($M)) {
-#      print "$M";
-#      return;
-#     } elsif (ref($M) eq "SCALAR") {
-#      print "$$M";
-#      return;
-#     } elsif (ref($M) eq "HASH") {
-#      print "\n";
-#      foreach $key (sort (keys %{$M})) {
-#          print "$indent $key => { ";
-#          print_object($indent."  ", $$M{$key});
-#          print "$indent }\n"
-#      }
-#     } elsif (ref($M) eq "ARRAY") {
-#      print "\n";
-#      foreach $key (0..$#$M) {
-#          print "$indent $key : [";
-#          print_object($indent."  ", $$M[$key]);
-#          print "$indent ]\n"
-#      }
-#     } else {
-#     }
-# }
-
-1;