COIN-OR::LEMON - Graph Library

Ticket #459: 459-2-d9d1cb759951.patch

File 459-2-d9d1cb759951.patch, 50.9 KB (added by Peter Kovacs, 7 years ago)
  • doc/CMakeLists.txt

    # HG changeset patch
    # User Peter Kovacs <kpeter@inf.elte.hu>
    # Date 1363436187 -3600
    # Node ID d9d1cb759951324f44b4060c92ce0993c6b0b382
    # Parent  7bf489cf624efd8023bb1a9ba91302a12415fea0
    Add images to the doc of two groups (#459)
    
    diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
    a b  
    3535    COMMAND ${CMAKE_COMMAND} -E remove_directory gen-images
    3636    COMMAND ${CMAKE_COMMAND} -E make_directory gen-images
    3737    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r20 -sOutputFile=gen-images/grid_graph.png ${CMAKE_CURRENT_SOURCE_DIR}/images/grid_graph.eps
     38    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r32 -sOutputFile=gen-images/adaptors2.png ${CMAKE_CURRENT_SOURCE_DIR}/images/adaptors2.eps
    3839    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r32 -sOutputFile=gen-images/connected_components.png ${CMAKE_CURRENT_SOURCE_DIR}/images/connected_components.eps
    3940    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r32 -sOutputFile=gen-images/strongly_connected_components.png ${CMAKE_CURRENT_SOURCE_DIR}/images/strongly_connected_components.eps
    4041    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r32 -sOutputFile=gen-images/node_biconnected_components.png ${CMAKE_CURRENT_SOURCE_DIR}/images/node_biconnected_components.eps
  • doc/groups.dox

    diff --git a/doc/groups.dox b/doc/groups.dox
    a b  
    112112obtained. For other examples, the interested user is referred to the
    113113detailed documentation of particular adaptors.
    114114
     115Since the adaptor classes conform to the \ref graph_concepts "graph concepts",
     116an adaptor can even be applied to another one.
     117The following image illustrates a situation when a \ref SubDigraph adaptor
     118is applied on a digraph and \ref Undirector is applied on the subgraph.
     119
     120\image html adaptors2.png
     121\image latex adaptors2.eps "Using graph adaptors" width=\textwidth
     122
    115123The behavior of graph adaptors can be very different. Some of them keep
    116124capabilities of the original graph while in other cases this would be
    117125meaningless. This means that the concepts that they meet depend
     
    722730
    723731This group contains general \c EPS drawing methods and special
    724732graph exporting tools.
     733
     734\image html graph_to_eps.png
    725735*/
    726736
    727737/**
  • new file doc/images/adaptors1.eps

    diff --git a/doc/images/adaptors1.eps b/doc/images/adaptors1.eps
    new file mode 100644
    - +  
     1%!PS-Adobe-2.0 EPSF-2.0
     2%%Title: adaptors1.fig
     3%%Creator: fig2dev Version 3.2 Patchlevel 5
     4%%CreationDate: Sun Feb 21 18:51:21 2010
     5%%For: Peter@KOVACSPETER (Péter,U-KOVACSPETER\Peter,S-1-5-21-1774138250-1299389707-1938712334-1001)
     6%%BoundingBox: 0 0 787 372
     7%Magnification: 1.0000
     8%%EndComments
     9/$F2psDict 200 dict def
     10$F2psDict begin
     11$F2psDict /mtrx matrix put
     12/col-1 {0 setgray} bind def
     13/col0 {0.000 0.000 0.000 srgb} bind def
     14/col1 {0.000 0.000 1.000 srgb} bind def
     15/col2 {0.000 1.000 0.000 srgb} bind def
     16/col3 {0.000 1.000 1.000 srgb} bind def
     17/col4 {1.000 0.000 0.000 srgb} bind def
     18/col5 {1.000 0.000 1.000 srgb} bind def
     19/col6 {1.000 1.000 0.000 srgb} bind def
     20/col7 {1.000 1.000 1.000 srgb} bind def
     21/col8 {0.000 0.000 0.560 srgb} bind def
     22/col9 {0.000 0.000 0.690 srgb} bind def
     23/col10 {0.000 0.000 0.820 srgb} bind def
     24/col11 {0.530 0.810 1.000 srgb} bind def
     25/col12 {0.000 0.560 0.000 srgb} bind def
     26/col13 {0.000 0.690 0.000 srgb} bind def
     27/col14 {0.000 0.820 0.000 srgb} bind def
     28/col15 {0.000 0.560 0.560 srgb} bind def
     29/col16 {0.000 0.690 0.690 srgb} bind def
     30/col17 {0.000 0.820 0.820 srgb} bind def
     31/col18 {0.560 0.000 0.000 srgb} bind def
     32/col19 {0.690 0.000 0.000 srgb} bind def
     33/col20 {0.820 0.000 0.000 srgb} bind def
     34/col21 {0.560 0.000 0.560 srgb} bind def
     35/col22 {0.690 0.000 0.690 srgb} bind def
     36/col23 {0.820 0.000 0.820 srgb} bind def
     37/col24 {0.500 0.190 0.000 srgb} bind def
     38/col25 {0.630 0.250 0.000 srgb} bind def
     39/col26 {0.750 0.380 0.000 srgb} bind def
     40/col27 {1.000 0.500 0.500 srgb} bind def
     41/col28 {1.000 0.630 0.630 srgb} bind def
     42/col29 {1.000 0.750 0.750 srgb} bind def
     43/col30 {1.000 0.880 0.880 srgb} bind def
     44/col31 {1.000 0.840 0.000 srgb} bind def
     45
     46end
     47save
     48newpath 0 372 moveto 0 0 lineto 787 0 lineto 787 372 lineto closepath clip newpath
     49-14.2 385.4 translate
     501 -1 scale
     51
     52/cp {closepath} bind def
     53/ef {eofill} bind def
     54/gr {grestore} bind def
     55/gs {gsave} bind def
     56/sa {save} bind def
     57/rs {restore} bind def
     58/l {lineto} bind def
     59/m {moveto} bind def
     60/rm {rmoveto} bind def
     61/n {newpath} bind def
     62/s {stroke} bind def
     63/sh {show} bind def
     64/slc {setlinecap} bind def
     65/slj {setlinejoin} bind def
     66/slw {setlinewidth} bind def
     67/srgb {setrgbcolor} bind def
     68/rot {rotate} bind def
     69/sc {scale} bind def
     70/sd {setdash} bind def
     71/ff {findfont} bind def
     72/sf {setfont} bind def
     73/scf {scalefont} bind def
     74/sw {stringwidth} bind def
     75/tr {translate} bind def
     76/tnt {dup dup currentrgbcolor
     77  4 -2 roll dup 1 exch sub 3 -1 roll mul add
     78  4 -2 roll dup 1 exch sub 3 -1 roll mul add
     79  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
     80  bind def
     81/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
     82  4 -2 roll mul srgb} bind def
     83 /DrawEllipse {
     84        /endangle exch def
     85        /startangle exch def
     86        /yrad exch def
     87        /xrad exch def
     88        /y exch def
     89        /x exch def
     90        /savematrix mtrx currentmatrix def
     91        x y tr xrad yrad sc 0 0 1 startangle endangle arc
     92        closepath
     93        savematrix setmatrix
     94        } def
     95
     96/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
     97/$F2psEnd {$F2psEnteredState restore end} def
     98
     99$F2psBegin
     10010 setmiterlimit
     1010 slj 0 slc
     102 0.06299 0.06299 sc
     103%
     104% Fig objects follow
     105%
     106%
     107% here starts figure with depth 60
     108% Polyline
     1090 slj
     1100 slc
     11115.000 slw
     112gs  clippath
     1136319 5229 m 6442 5564 l 6527 5533 l 6403 5198 l 6403 5198 l 6424 5383 l 6319 5229 l cp
     114eoclip
     115n 5850 3825 m
     116 6480 5535 l gs col0 s gr gr
     117
     118% arrowhead
     11975.000 slw
     120n 6319 5229 m 6424 5383 l 6403 5198 l 6319 5229 l  cp gs 0.00 setgray ef gr  col0 s
     121% Polyline
     12215.000 slw
     123gs  clippath
     1245417 4044 m 5746 3905 l 5711 3822 l 5382 3961 l 5382 3961 l 5566 3933 l 5417 4044 l cp
     125eoclip
     126n 1575 5625 m
     127 5715 3870 l gs col0 s gr gr
     128
     129% arrowhead
     13075.000 slw
     131n 5417 4044 m 5566 3933 l 5382 3961 l 5417 4044 l  cp gs 0.00 setgray ef gr  col0 s
     132% Polyline
     13315.000 slw
     134gs  clippath
     1353897 3780 m 3540 3780 l 3540 3870 l 3897 3870 l 3897 3870 l 3717 3825 l 3897 3780 l cp
     136eoclip
     137n 5625 3825 m
     138 3555 3825 l gs col0 s gr gr
     139
     140% arrowhead
     14175.000 slw
     142n 3897 3780 m 3717 3825 l 3897 3870 l 3897 3780 l  cp gs 0.00 setgray ef gr  col0 s
     143% Polyline
     14415.000 slw
     145gs  clippath
     1463075 4188 m 3327 3936 l 3263 3872 l 3011 4124 l 3011 4124 l 3171 4029 l 3075 4188 l cp
     147eoclip
     148n 1575 5625 m
     149 3285 3915 l gs col0 s gr gr
     150
     151% arrowhead
     15275.000 slw
     153n 3075 4188 m 3171 4029 l 3011 4124 l 3075 4188 l  cp gs 0.00 setgray ef gr  col0 s
     154% Polyline
     15515.000 slw
     156gs  clippath
     1573528 2520 m 3885 2520 l 3885 2430 l 3528 2430 l 3528 2430 l 3708 2475 l 3528 2520 l cp
     158eoclip
     159n 1800 2475 m
     160 3870 2475 l gs col0 s gr gr
     161
     162% arrowhead
     16375.000 slw
     164n 3528 2520 m 3708 2475 l 3528 2430 l 3528 2520 l  cp gs 0.00 setgray ef gr  col0 s
     165% Polyline
     16615.000 slw
     167gs  clippath
     1684304 2156 m 4052 2408 l 4116 2472 l 4368 2220 l 4368 2220 l 4209 2316 l 4304 2156 l cp
     169eoclip
     170n 5850 675 m
     171 4095 2430 l gs col0 s gr gr
     172
     173% arrowhead
     17475.000 slw
     175n 4304 2156 m 4209 2316 l 4368 2220 l 4304 2156 l  cp gs 0.00 setgray ef gr  col0 s
     176% Polyline
     17715.000 slw
     178gs  clippath
     1796319 2079 m 6442 2414 l 6527 2383 l 6403 2048 l 6403 2048 l 6424 2233 l 6319 2079 l cp
     180eoclip
     181n 5850 675 m
     182 6480 2385 l gs col0 s gr gr
     183
     184% arrowhead
     18575.000 slw
     186n 6319 2079 m 6424 2233 l 6403 2048 l 6319 2079 l  cp gs 0.00 setgray ef gr  col0 s
     187% Polyline
     18815.000 slw
     189gs  clippath
     1905417 894 m 5746 755 l 5711 672 l 5382 811 l 5382 811 l 5566 783 l 5417 894 l cp
     191eoclip
     192n 1575 2475 m
     193 5715 720 l gs col0 s gr gr
     194
     195% arrowhead
     19675.000 slw
     197n 5417 894 m 5566 783 l 5382 811 l 5417 894 l  cp gs 0.00 setgray ef gr  col0 s
     198% Polyline
     19915.000 slw
     200gs  clippath
     2013528 5670 m 3885 5670 l 3885 5580 l 3528 5580 l 3528 5580 l 3708 5625 l 3528 5670 l cp
     202eoclip
     203n 1800 5625 m
     204 3870 5625 l gs col0 s gr gr
     205
     206% arrowhead
     20775.000 slw
     208n 3528 5670 m 3708 5625 l 3528 5580 l 3528 5670 l  cp gs 0.00 setgray ef gr  col0 s
     209% Polyline
     21015.000 slw
     211gs  clippath
     2124572 5580 m 4215 5580 l 4215 5670 l 4572 5670 l 4572 5670 l 4392 5625 l 4572 5580 l cp
     213eoclip
     214n 6300 5625 m
     215 4230 5625 l gs col0 s gr gr
     216
     217% arrowhead
     21875.000 slw
     219n 4572 5580 m 4392 5625 l 4572 5670 l 4572 5580 l  cp gs 0.00 setgray ef gr  col0 s
     220% Polyline
     22115.000 slw
     222gs  clippath
     2234304 5306 m 4052 5558 l 4116 5622 l 4368 5370 l 4368 5370 l 4209 5466 l 4304 5306 l cp
     224eoclip
     225n 5850 3825 m
     226 4095 5580 l gs col0 s gr gr
     227
     228% arrowhead
     22975.000 slw
     230n 4304 5306 m 4209 5466 l 4368 5370 l 4304 5306 l  cp gs 0.00 setgray ef gr  col0 s
     231% here ends figure;
     232%
     233% here starts figure with depth 50
     234% Ellipse
     23515.000 slw
     236n 3375 3825 225 112 0 360 DrawEllipse gs 1.00 setgray ef gr gs col0 s gr
     237
     238% Ellipse
     239n 5850 3825 225 112 0 360 DrawEllipse gs 1.00 setgray ef gr gs col0 s gr
     240
     241% Polyline
     2420 slj
     2430 slc
     244n 247 2947 m 2947 247 l 9697 247 l 6997 2947 l
     245 247 2947 l  cp gs col0 s gr
     246% Polyline
     247n 247 6097 m 2947 3397 l 9697 3397 l 6997 6097 l
     248 247 6097 l  cp gs col0 s gr
     249% Ellipse
     250n 1575 2475 225 112 0 360 DrawEllipse gs 1.00 setgray ef gr gs col0 s gr
     251
     252% Ellipse
     253n 4050 2475 225 112 0 360 DrawEllipse gs 1.00 setgray ef gr gs col0 s gr
     254
     255% Ellipse
     256n 6525 2475 225 112 0 360 DrawEllipse gs 1.00 setgray ef gr gs col0 s gr
     257
     258% Ellipse
     259n 5850 675 225 112 0 360 DrawEllipse gs 1.00 setgray ef gr gs col0 s gr
     260
     261% Ellipse
     262n 1575 5625 225 112 0 360 DrawEllipse gs 1.00 setgray ef gr gs col0 s gr
     263
     264% Ellipse
     265n 4050 5625 225 112 0 360 DrawEllipse gs 1.00 setgray ef gr gs col0 s gr
     266
     267% Ellipse
     268n 6525 5625 225 112 0 360 DrawEllipse gs 1.00 setgray ef gr gs col0 s gr
     269
     270% here ends figure;
     271%
     272% here starts figure with depth 40
     273/Helvetica ff 480.00 scf sf
     2748280 2610 m
     275gs 1 -1 sc (SubDigraph adaptor) col0 sh gr
     276% Polyline
     2770 slj
     2780 slc
     2797.500 slw
     280 [15 45] 45 sd
     281n 4050 2610 m
     282 4050 5625 l gs col0 s gr  [] 0 sd
     283% Polyline
     284 [15 45] 45 sd
     285n 5850 810 m
     286 5850 3825 l gs col0 s gr  [] 0 sd
     287% Polyline
     288 [15 45] 45 sd
     289n 6525 2610 m
     290 6525 5625 l gs col0 s gr  [] 0 sd
     291/Helvetica ff 480.00 scf sf
     2928280 5760 m
     293gs 1 -1 sc (Original digraph) col0 sh gr
     294% Polyline
     295 [15 45] 45 sd
     296n 1575 2610 m
     297 1575 5625 l gs col0 s gr  [] 0 sd
     298% here ends figure;
     299$F2psEnd
     300rs
     301showpage
     302%%Trailer
     303%EOF
  • new file doc/images/adaptors2.eps

    diff --git a/doc/images/adaptors2.eps b/doc/images/adaptors2.eps
    new file mode 100644
    - +  
     1%!PS-Adobe-2.0 EPSF-2.0
     2%%Title: adaptors2.fig
     3%%Creator: fig2dev Version 3.2 Patchlevel 5
     4%%CreationDate: Sun Feb 21 18:51:31 2010
     5%%For: Peter@KOVACSPETER (Péter,U-KOVACSPETER\Peter,S-1-5-21-1774138250-1299389707-1938712334-1001)
     6%%BoundingBox: 0 0 787 570
     7%Magnification: 1.0000
     8%%EndComments
     9/$F2psDict 200 dict def
     10$F2psDict begin
     11$F2psDict /mtrx matrix put
     12/col-1 {0 setgray} bind def
     13/col0 {0.000 0.000 0.000 srgb} bind def
     14/col1 {0.000 0.000 1.000 srgb} bind def
     15/col2 {0.000 1.000 0.000 srgb} bind def
     16/col3 {0.000 1.000 1.000 srgb} bind def
     17/col4 {1.000 0.000 0.000 srgb} bind def
     18/col5 {1.000 0.000 1.000 srgb} bind def
     19/col6 {1.000 1.000 0.000 srgb} bind def
     20/col7 {1.000 1.000 1.000 srgb} bind def
     21/col8 {0.000 0.000 0.560 srgb} bind def
     22/col9 {0.000 0.000 0.690 srgb} bind def
     23/col10 {0.000 0.000 0.820 srgb} bind def
     24/col11 {0.530 0.810 1.000 srgb} bind def
     25/col12 {0.000 0.560 0.000 srgb} bind def
     26/col13 {0.000 0.690 0.000 srgb} bind def
     27/col14 {0.000 0.820 0.000 srgb} bind def
     28/col15 {0.000 0.560 0.560 srgb} bind def
     29/col16 {0.000 0.690 0.690 srgb} bind def
     30/col17 {0.000 0.820 0.820 srgb} bind def
     31/col18 {0.560 0.000 0.000 srgb} bind def
     32/col19 {0.690 0.000 0.000 srgb} bind def
     33/col20 {0.820 0.000 0.000 srgb} bind def
     34/col21 {0.560 0.000 0.560 srgb} bind def
     35/col22 {0.690 0.000 0.690 srgb} bind def
     36/col23 {0.820 0.000 0.820 srgb} bind def
     37/col24 {0.500 0.190 0.000 srgb} bind def
     38/col25 {0.630 0.250 0.000 srgb} bind def
     39/col26 {0.750 0.380 0.000 srgb} bind def
     40/col27 {1.000 0.500 0.500 srgb} bind def
     41/col28 {1.000 0.630 0.630 srgb} bind def
     42/col29 {1.000 0.750 0.750 srgb} bind def
     43/col30 {1.000 0.880 0.880 srgb} bind def
     44/col31 {1.000 0.840 0.000 srgb} bind def
     45
     46end
     47save
     48newpath 0 570 moveto 0 0 lineto 787 0 lineto 787 570 lineto closepath clip newpath
     49-14.2 583.9 translate
     501 -1 scale
     51
     52/cp {closepath} bind def
     53/ef {eofill} bind def
     54/gr {grestore} bind def
     55/gs {gsave} bind def
     56/sa {save} bind def
     57/rs {restore} bind def
     58/l {lineto} bind def
     59/m {moveto} bind def
     60/rm {rmoveto} bind def
     61/n {newpath} bind def
     62/s {stroke} bind def
     63/sh {show} bind def
     64/slc {setlinecap} bind def
     65/slj {setlinejoin} bind def
     66/slw {setlinewidth} bind def
     67/srgb {setrgbcolor} bind def
     68/rot {rotate} bind def
     69/sc {scale} bind def
     70/sd {setdash} bind def
     71/ff {findfont} bind def
     72/sf {setfont} bind def
     73/scf {scalefont} bind def
     74/sw {stringwidth} bind def
     75/tr {translate} bind def
     76/tnt {dup dup currentrgbcolor
     77  4 -2 roll dup 1 exch sub 3 -1 roll mul add
     78  4 -2 roll dup 1 exch sub 3 -1 roll mul add
     79  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
     80  bind def
     81/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
     82  4 -2 roll mul srgb} bind def
     83 /DrawEllipse {
     84        /endangle exch def
     85        /startangle exch def
     86        /yrad exch def
     87        /xrad exch def
     88        /y exch def
     89        /x exch def
     90        /savematrix mtrx currentmatrix def
     91        x y tr xrad yrad sc 0 0 1 startangle endangle arc
     92        closepath
     93        savematrix setmatrix
     94        } def
     95
     96/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
     97/$F2psEnd {$F2psEnteredState restore end} def
     98
     99$F2psBegin
     10010 setmiterlimit
     1010 slj 0 slc
     102 0.06299 0.06299 sc
     103%
     104% Fig objects follow
     105%
     106%
     107% here starts figure with depth 60
     108% Polyline
     1090 slj
     1100 slc
     11115.000 slw
     112gs  clippath
     1135417 4044 m 5746 3905 l 5711 3822 l 5382 3961 l 5382 3961 l 5566 3933 l 5417 4044 l cp
     114eoclip
     115n 1575 5625 m
     116 5715 3870 l gs col0 s gr gr
     117
     118% arrowhead
     11975.000 slw
     120n 5417 4044 m 5566 3933 l 5382 3961 l 5417 4044 l  cp gs 0.00 setgray ef gr  col0 s
     121% Polyline
     12215.000 slw
     123gs  clippath
     1245417 7194 m 5746 7055 l 5711 6972 l 5382 7111 l 5382 7111 l 5566 7083 l 5417 7194 l cp
     125eoclip
     126n 1575 8775 m
     127 5715 7020 l gs col0 s gr gr
     128
     129% arrowhead
     13075.000 slw
     131n 5417 7194 m 5566 7083 l 5382 7111 l 5417 7194 l  cp gs 0.00 setgray ef gr  col0 s
     132% Polyline
     13315.000 slw
     134gs  clippath
     1356319 8379 m 6442 8714 l 6527 8683 l 6403 8348 l 6403 8348 l 6424 8533 l 6319 8379 l cp
     136eoclip
     137n 5850 6975 m
     138 6480 8685 l gs col0 s gr gr
     139
     140% arrowhead
     14175.000 slw
     142n 6319 8379 m 6424 8533 l 6403 8348 l 6319 8379 l  cp gs 0.00 setgray ef gr  col0 s
     143% Polyline
     14415.000 slw
     145gs  clippath
     1464304 8456 m 4052 8708 l 4116 8772 l 4368 8520 l 4368 8520 l 4209 8616 l 4304 8456 l cp
     147eoclip
     148n 5850 6975 m
     149 4095 8730 l gs col0 s gr gr
     150
     151% arrowhead
     15275.000 slw
     153n 4304 8456 m 4209 8616 l 4368 8520 l 4304 8456 l  cp gs 0.00 setgray ef gr  col0 s
     154% Polyline
     15515.000 slw
     156gs  clippath
     1574572 8730 m 4215 8730 l 4215 8820 l 4572 8820 l 4572 8820 l 4392 8775 l 4572 8730 l cp
     158eoclip
     159n 6300 8775 m
     160 4230 8775 l gs col0 s gr gr
     161
     162% arrowhead
     16375.000 slw
     164n 4572 8730 m 4392 8775 l 4572 8820 l 4572 8730 l  cp gs 0.00 setgray ef gr  col0 s
     165% Polyline
     16615.000 slw
     167gs  clippath
     1683528 8820 m 3885 8820 l 3885 8730 l 3528 8730 l 3528 8730 l 3708 8775 l 3528 8820 l cp
     169eoclip
     170n 1800 8775 m
     171 3870 8775 l gs col0 s gr gr
     172
     173% arrowhead
     17475.000 slw
     175n 3528 8820 m 3708 8775 l 3528 8730 l 3528 8820 l  cp gs 0.00 setgray ef gr  col0 s
     176% Polyline
     17715.000 slw
     178n 1800 2475 m
     179 3870 2475 l gs col0 s gr
     180% Polyline
     181n 1575 2475 m
     182 5715 720 l gs col0 s gr
     183% Polyline
     184n 5850 675 m
     185 4095 2430 l gs col0 s gr
     186% Polyline
     187n 5850 675 m
     188 6480 2385 l gs col0 s gr
     189% Polyline
     190gs  clippath
     1913075 7338 m 3327 7086 l 3263 7022 l 3011 7274 l 3011 7274 l 3171 7179 l 3075 7338 l cp
     192eoclip
     193n 1575 8775 m
     194 3285 7065 l gs col0 s gr gr
     195
     196% arrowhead
     19775.000 slw
     198n 3075 7338 m 3171 7179 l 3011 7274 l 3075 7338 l  cp gs 0.00 setgray ef gr  col0 s
     199% Polyline
     20015.000 slw
     201gs  clippath
     2023528 5670 m 3885 5670 l 3885 5580 l 3528 5580 l 3528 5580 l 3708 5625 l 3528 5670 l cp
     203eoclip
     204n 1800 5625 m
     205 3870 5625 l gs col0 s gr gr
     206
     207% arrowhead
     20875.000 slw
     209n 3528 5670 m 3708 5625 l 3528 5580 l 3528 5670 l  cp gs 0.00 setgray ef gr  col0 s
     210% Polyline
     21115.000 slw
     212gs  clippath
     2134304 5306 m 4052 5558 l 4116 5622 l 4368 5370 l 4368 5370 l 4209 5466 l 4304 5306 l cp
     214eoclip
     215n 5850 3825 m
     216 4095 5580 l gs col0 s gr gr
     217
     218% arrowhead
     21975.000 slw
     220n 4304 5306 m 4209 5466 l 4368 5370 l 4304 5306 l  cp gs 0.00 setgray ef gr  col0 s
     221% Polyline
     22215.000 slw
     223gs  clippath
     2246319 5229 m 6442 5564 l 6527 5533 l 6403 5198 l 6403 5198 l 6424 5383 l 6319 5229 l cp
     225eoclip
     226n 5850 3825 m
     227 6480 5535 l gs col0 s gr gr
     228
     229% arrowhead
     23075.000 slw
     231n 6319 5229 m 6424 5383 l 6403 5198 l 6319 5229 l  cp gs 0.00 setgray ef gr  col0 s
     232% Polyline
     23315.000 slw
     234gs  clippath
     2353897 6930 m 3540 6930 l 3540 7020 l 3897 7020 l 3897 7020 l 3717 6975 l 3897 6930 l cp
     236eoclip
     237n 5625 6975 m
     238 3555 6975 l gs col0 s gr gr
     239
     240% arrowhead
     24175.000 slw
     242n 3897 6930 m 3717 6975 l 3897 7020 l 3897 6930 l  cp gs 0.00 setgray ef gr  col0 s
     243% here ends figure;
     244%
     245% here starts figure with depth 50
     246% Polyline
     2470 slj
     2480 slc
     24915.000 slw
     250n 247 6097 m 2947 3397 l 9697 3397 l 6997 6097 l
     251 247 6097 l  cp gs col0 s gr
     252% Polyline
     253n 247 9247 m 2947 6547 l 9697 6547 l 6997 9247 l
     254 247 9247 l  cp gs col0 s gr
     255% Ellipse
     256n 4050 2475 225 112 0 360 DrawEllipse gs 1.00 setgray ef gr gs col0 s gr
     257
     258% Ellipse
     259n 6525 2475 225 112 0 360 DrawEllipse gs 1.00 setgray ef gr gs col0 s gr
     260
     261% Ellipse
     262n 1575 2475 225 112 0 360 DrawEllipse gs 1.00 setgray ef gr gs col0 s gr
     263
     264% Ellipse
     265n 5850 675 225 112 0 360 DrawEllipse gs 1.00 setgray ef gr gs col0 s gr
     266
     267% Ellipse
     268n 1575 5625 225 112 0 360 DrawEllipse gs 1.00 setgray ef gr gs col0 s gr
     269
     270% Ellipse
     271n 4050 5625 225 112 0 360 DrawEllipse gs 1.00 setgray ef gr gs col0 s gr
     272
     273% Ellipse
     274n 6525 5625 225 112 0 360 DrawEllipse gs 1.00 setgray ef gr gs col0 s gr
     275
     276% Ellipse
     277n 5850 3825 225 112 0 360 DrawEllipse gs 1.00 setgray ef gr gs col0 s gr
     278
     279% Ellipse
     280n 1575 8775 225 112 0 360 DrawEllipse gs 1.00 setgray ef gr gs col0 s gr
     281
     282% Ellipse
     283n 4050 8775 225 112 0 360 DrawEllipse gs 1.00 setgray ef gr gs col0 s gr
     284
     285% Ellipse
     286n 3375 6975 225 112 0 360 DrawEllipse gs 1.00 setgray ef gr gs col0 s gr
     287
     288% Ellipse
     289n 6525 8775 225 112 0 360 DrawEllipse gs 1.00 setgray ef gr gs col0 s gr
     290
     291% Ellipse
     292n 5850 6975 225 112 0 360 DrawEllipse gs 1.00 setgray ef gr gs col0 s gr
     293
     294% Polyline
     295n 247 2947 m 2947 247 l 9697 247 l 6997 2947 l
     296 247 2947 l  cp gs col0 s gr
     297% here ends figure;
     298%
     299% here starts figure with depth 40
     300/Helvetica ff 480.00 scf sf
     3018280 8910 m
     302gs 1 -1 sc (Original digraph) col0 sh gr
     303% Polyline
     3040 slj
     3050 slc
     3067.500 slw
     307 [15 45] 45 sd
     308n 5850 810 m
     309 5850 3825 l gs col0 s gr  [] 0 sd
     310% Polyline
     311 [15 45] 45 sd
     312n 6525 2610 m
     313 6525 5625 l gs col0 s gr  [] 0 sd
     314% Polyline
     315 [15 45] 45 sd
     316n 4050 2610 m
     317 4050 5625 l gs col0 s gr  [] 0 sd
     318% Polyline
     319 [15 45] 45 sd
     320n 1575 2610 m
     321 1575 5625 l gs col0 s gr  [] 0 sd
     322% Polyline
     323 [15 45] 45 sd
     324n 5850 3960 m
     325 5850 6975 l gs col0 s gr  [] 0 sd
     326% Polyline
     327 [15 45] 45 sd
     328n 6525 5760 m
     329 6525 8775 l gs col0 s gr  [] 0 sd
     330% Polyline
     331 [15 45] 45 sd
     332n 4050 5760 m
     333 4050 8775 l gs col0 s gr  [] 0 sd
     334/Helvetica ff 480.00 scf sf
     3358280 2610 m
     336gs 1 -1 sc (Undirector adaptor) col0 sh gr
     337/Helvetica ff 480.00 scf sf
     3388280 5760 m
     339gs 1 -1 sc (SubDigraph adaptor) col0 sh gr
     340% Polyline
     341 [15 45] 45 sd
     342n 1575 5760 m
     343 1575 8775 l gs col0 s gr  [] 0 sd
     344% here ends figure;
     345$F2psEnd
     346rs
     347showpage
     348%%Trailer
     349%EOF
  • new file doc/images/graph_to_eps.png

    diff --git a/doc/images/graph_to_eps.png b/doc/images/graph_to_eps.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..4d497f7e2a8fd65460b5abaff781308c2f1772fb
    GIT binary patch
    literal 24986
    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