Subversion Repositories wimsdev

Rev

Rev 4172 | Rev 4908 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2641 bpr 1
!if $wims_read_parm!=slib_header
2
 !goto proc
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"\
4158 bpr 10
[0,1,0;0,1,1;0,0,0],no_label_node
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
26
 
27
slib_options=!declosing $slib_options
28
!default slib_options=rankdir="LR" ;node [fontsize=10,width=".2", height=".2", margin=0 shape=box];
29
 
30
 
31
slib_sA=!rows2lines $slib_A
32
slib_r=!linecnt $slib_sA
33
slib_A=!lines2rows $slib_A
34
 
35
!default slib_orient=1
36
slib_graphv=
37
 
38
!if $slib_orient=1
39
   graphviz_dot=dot
40
   slib_graph=digraph
41
   slib_arrow=->
42
!else
43
  graphviz_dot=neato
44
  slib_graph=graph
45
  slib_arrow=--
46
!endif
47
slib_rA=!rows2lines $slib_A
48
!for slib_i = 1 to $slib_r
49
  !for slib_j = 1 to $slib_i
50
    !if $(slib_A[$slib_i;$slib_j]) != 0
51
      !if edge iswordof $slib_output
52
        slib_l=[label="$(slib_A[$slib_i;$slib_j])"]
53
      !endif
54
      slib_graphv=!append line $slib_i $slib_arrow $slib_j [color="blue"] $slib_l ; to $slib_graphv
55
    !endif
56
    !if $slib_orient=1
57
      !if $slib_i != $slib_j and $(slib_A[$slib_j;$slib_i]) != 0
58
       !if edge iswordof $slib_output
59
        slib_l=[label="$(slib_A[$slib_j;$slib_i])"]
60
       !endif
61
       slib_graphv=!append line $slib_j $slib_arrow $slib_i [color="blue"] $slib_l ; to $slib_graphv
62
      !endif
63
    !endif
64
  !next
65
  !if $(slib_Node[$slib_i])!= or $slib_label_node=0
66
    slib_graphv=!append line $slib_i [label="$(slib_Node[$slib_i])"] [color="blue"] ; to $slib_graphv
67
  !endif
68
!next
69
 
70
slib_out=$slib_graph bar {$slib_options $slib_graphv}
71
 
72
slib_graphviz_out=!exec graphviz $slib_out
73
slib_out=!line 1 of $slib_graphviz_out
74
!if url notin $slib_output 
4172 bpr 75
  slib_out=<img src="$slib_out" alt="">
2641 bpr 76
!endif