Subversion Repositories wimsdev

Rev

Rev 13587 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2641 bpr 1
!if $wims_read_parm!=slib_header
13587 bpr 2
  !goto proc
2641 bpr 3
!endif
4158 bpr 4
 
4349 bpr 5
slib_author=Bernadette, Perrin-Riou
4158 bpr 6
 
2641 bpr 7
slib_example=[0,1,0;0,1,1;0,0,0]\
8
[u,v,0;0,w,x;0,y,0],[a,b,c],edge\
9
[0,T,0;0,1,0;0,1,0],[a,b,c],,rankdir="RL"\
4908 bpr 10
[0,1,0;0,1,1;0,0,0],no_label_node,html
3265 bpr 11
slib_require=graphviz
2641 bpr 12
!exit
13
 
14
:proc
15
 
16
slib_labelnode=0
17
!reset slib_options slib_Node slib_output slib_l
18
 
19
!distribute item $wims_read_parm into slib_A,slib_Node,slib_output,slib_options
20
slib_A=!declosing $slib_A
21
slib_Node=!declosing $slib_Node
22
!if no_label_node isin $slib_Node
23
  slib_Node=
24
  slib_label_node=0
25
!endif
7692 bpr 26
 
2641 bpr 27
slib_options=!declosing $slib_options
11989 bpr 28
!default slib_options=rankdir="LR"; node [fontsize=10,width=".2", height=".2", margin=0 shape=box];
2641 bpr 29
 
30
slib_sA=!rows2lines $slib_A
31
slib_r=!linecnt $slib_sA
32
slib_A=!lines2rows $slib_A
33
 
34
!default slib_orient=1
35
slib_graphv=
36
 
37
!if $slib_orient=1
38
   graphviz_dot=dot
39
   slib_graph=digraph
40
   slib_arrow=->
41
!else
42
  graphviz_dot=neato
43
  slib_graph=graph
44
  slib_arrow=--
45
!endif
46
slib_rA=!rows2lines $slib_A
47
!for slib_i = 1 to $slib_r
48
  !for slib_j = 1 to $slib_i
49
    !if $(slib_A[$slib_i;$slib_j]) != 0
50
      !if edge iswordof $slib_output
51
        slib_l=[label="$(slib_A[$slib_i;$slib_j])"]
52
      !endif
53
      slib_graphv=!append line $slib_i $slib_arrow $slib_j [color="blue"] $slib_l ; to $slib_graphv
54
    !endif
55
    !if $slib_orient=1
56
      !if $slib_i != $slib_j and $(slib_A[$slib_j;$slib_i]) != 0
12676 bpr 57
        !if edge iswordof $slib_output
58
          slib_l=[label="$(slib_A[$slib_j;$slib_i])"]
59
        !endif
60
        slib_graphv=!append line $slib_j $slib_arrow $slib_i [color="blue"] $slib_l ; to $slib_graphv
2641 bpr 61
      !endif
62
    !endif
63
  !next
64
  !if $(slib_Node[$slib_i])!= or $slib_label_node=0
65
    slib_graphv=!append line $slib_i [label="$(slib_Node[$slib_i])"] [color="blue"] ; to $slib_graphv
66
  !endif
67
!next
68
 
69
slib_out=$slib_graph bar {$slib_options $slib_graphv}
70
 
71
slib_graphviz_out=!exec graphviz $slib_out
72
slib_out=!line 1 of $slib_graphviz_out
4908 bpr 73
!if url notin $slib_output or html isin $slib_output
17173 bpr 74
  slib_out=<img src="$slib_out" alt="">
2641 bpr 75
!endif