aboutsummaryrefslogtreecommitdiff
path: root/graphics/vcg/files/demo.csh
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/vcg/files/demo.csh')
-rw-r--r--graphics/vcg/files/demo.csh1453
1 files changed, 1453 insertions, 0 deletions
diff --git a/graphics/vcg/files/demo.csh b/graphics/vcg/files/demo.csh
new file mode 100644
index 000000000000..443ea5a943e3
--- /dev/null
+++ b/graphics/vcg/files/demo.csh
@@ -0,0 +1,1453 @@
+#!/bin/csh
+#
+# SCCS-info %W% %E%
+# $Id: demo.csh.tpl,v 1.9 1994/08/09 09:17:11 sander Exp sander $
+#
+# ====================== Change area ============================
+
+alias OUTP /bin/echo
+
+# ================== End of Change area =========================
+
+OUTP "Configuring ..."
+
+set mvcgn = "../src/xvcg"
+
+if (! -x $mvcgn) then
+ set mvcgn = "`echo $BINDIR`xvcg"
+endif
+if (! -x $mvcgn) then
+ set mvcgn = "/usr/local/bin/xvcg"
+endif
+if (! -x $mvcgn) then
+ set mvcgn = "xvcg"
+endif
+if (! -x $mvcgn) then
+ OUTP "Sorry, I cannot find a " $mvcgn
+ exit 1
+endif
+
+OUTP "Vcg is" $mvcgn
+
+OUTP ""
+loop:
+ OUTP "Please select the window system."
+ OUTP "If the VCG tool has problems with colors on "
+ OUTP "your display installation, please select a "
+ OUTP "monochromatic version even on a color screen."
+ OUTP "1 : X11 with colors 2 : Sunview with colors "
+ OUTP "3 : X11 monochromatic 4 : Sunview monochromatic"
+ set wsys = $<
+ switch ($wsys)
+ case 1:
+ alias MYVCG $mvcgn -geometry 700x700+20-20
+ breaksw
+ case 2:
+ alias MYVCG $mvcgn
+ breaksw
+ case 3:
+ alias MYVCG $mvcgn -geometry 700x700+20-20 -nocolors
+ breaksw
+ case 4:
+ alias MYVCG $mvcgn -nocolors
+ breaksw
+ default:
+ OUTP ""
+ OUTP "*** invalid input ***"
+ goto loop
+ endsw
+
+set mycat = "/bin/cat"
+set myrm = "/bin/rm"
+set mysleep = "/bin/sleep"
+set mysed = "/usr/bin/sed"
+set mywc = "/usr/bin/wc"
+set mygrep = "/usr/bin/fgrep"
+set myclear = "/usr/bin/clear"
+
+alias CAT $mycat
+alias RM $myrm
+alias SLEEP $mysleep
+alias SED $mysed
+alias WCNT $mywc
+alias GREP $mygrep
+alias CLEAR $myclear
+
+
+OUTP
+OUTP "Cleanup ..."
+OUTP "Test" > demoaaa.vcg
+OUTP "Test" > animaaa.vcg
+OUTP "Test" > rbtreeaaa.vcg
+RM demo*.vcg anim*.vcg rbtree*.vcg
+
+OUTP ""
+OUTP "Press Carriage Return key to start the demonstration ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+CLEAR
+OUTP "DEMONSTRATION OF THE VCG TOOL"
+OUTP "============================="
+OUTP ""
+OUTP "Welcome to a tour around the VCG tool ..."
+OUTP ""
+OUTP "NOTE: you can leave the tour at any point by answering"
+OUTP " QUIT (uppercase) on a request of input."
+
+OUTP ""
+OUTP "In the following, we will show several visualizations"
+OUTP "from different applications. Not all features of the "
+OUTP "VCG tool can be demonstrated, but the important once."
+OUTP "Some of the demonstrations are generated by the program"
+OUTP "vcgdemomaker, others are from the directory expl, others"
+OUTP "are animations."
+OUTP ""
+OUTP "To go from one demonstration to the next demonstration,"
+OUTP "you should finish the VCG tool by pressing the key q "
+OUTP "or selecting the menu item Quit."
+OUTP "The menu is shown when pressing the (left) mouse button"
+OUTP "in the VCG window."
+OUTP "Press Carriage Return key to continue ..."
+
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+OUTP "The keyboard commands of the VCG tool are:"
+OUTP ""
+OUTP " q - quit the VCG tool"
+OUTP " r - show or hide the ruler"
+OUTP " f - load another file"
+OUTP " g - reload the same file"
+OUTP " l - display/hide labels of edges"
+OUTP " 1..9 - hide/expose corresponding edge class"
+OUTP " i or I or J - show info fields of nodes"
+OUTP ""
+OUTP "Press Carriage Return key to continue ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+OUTP ""
+OUTP "Scrolling commands:"
+OUTP ""
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " o - go to the origin (0,0) "
+OUTP " p - pick position with the mouse"
+OUTP " P - enter position by co-ordinates"
+OUTP " n - position such that a node is centered"
+OUTP " e - follow an edge (center target/source)"
+OUTP ""
+OUTP "Scaling commands"
+OUTP ""
+OUTP " + or = - stretch "
+OUTP " - or _ - shrink "
+OUTP " 0 - (null) set scale factor to normal"
+OUTP ""
+OUTP ""
+OUTP "Press Carriage Return key to start ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+CLEAR
+OUTP "Example from the sociology: Theory of civilisation"
+OUTP "--------------------------------------------------"
+OUTP "This graph shows the dependencies between the "
+OUTP "invention of wheels, the modern comunism and the "
+OUTP "computer science, etc."
+OUTP "The following graph is scaled by a factor 0.5 and"
+OUTP "uses the layoutalgorithm MINBACKWARD (-D0)."
+OUTP "Other possible layoutalgorithms are MINDEPTH, MAXDEPTH"
+OUTP "and TREE (-D-, -D+ and -Dtree) and many more."
+OUTP ""
+./vcgcount < ../expl/civ.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG ../expl/civ.vcg
+
+CLEAR
+OUTP "Example: Color test"
+OUTP "-------------------"
+OUTP "This examples shows the default colors that are available."
+OUTP "If your X11 installation has problems with colors, "
+OUTP "use -nocolors. In this case, or if the display is "
+OUTP "monochrom, you will not see the colors."
+OUTP ""
+./vcgcount < ../expl/colors.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG ../expl/colors.vcg
+
+CLEAR
+OUTP "Example: More Colors"
+OUTP "--------------------"
+OUTP "This examples show how to access to the color map."
+OUTP "Up to 256 colors can be used at the same time."
+OUTP "It is even possible to replace the default colors by"
+OUTP "other red/green/blue values."
+OUTP ""
+./vcgcount < ../expl/morecol.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG ../expl/morecol.vcg
+
+
+CLEAR
+OUTP "Example: Character set"
+OUTP "----------------------"
+OUTP "The VCG tool uses a fully scalable character set. This character"
+OUTP "set is compatible to the ISO Latin 1 PostScript Encoding Vector"
+OUTP "and contains the special national characters for the most"
+OUTP "European and North American countrys."
+OUTP "If the computer system does not support 8 Bit character codes,"
+OUTP "the special characters can be accessed by ISO code escapes."
+OUTP "For instance, \\fi252 is the german umlaut ue."
+OUTP "Next, we will see the character set."
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG ../expl/charset.vcg
+
+
+CLEAR
+OUTP "Example: Form test"
+OUTP "------------------"
+OUTP "This examples shows the different forms of nodes and"
+OUTP "edges that are available."
+OUTP "Nodes can be stretched and shrinked individually,"
+OUTP "width, height, textmode and border can be set to "
+OUTP "many values. Edges can be dashed or dotted, at "
+OUTP "different sizes with different arrow sizes."
+OUTP ""
+./vcgcount < ../expl/forms.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG ../expl/forms.vcg
+
+CLEAR
+OUTP "Example: More forms"
+OUTP "-------------------"
+OUTP "This examples shows further forms of nodes and"
+OUTP "edges that are available: boxes, ellipses, rhombs"
+OUTP "and triangles."
+OUTP ""
+./vcgcount < ../expl/forms2.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG ../expl/forms2.vcg
+
+
+CLEAR
+OUTP "Example: Ports and Arrow Modes"
+OUTP "------------------------------"
+OUTP "Edge arrows appear at the port of nodes. Port sharing"
+OUTP "means that multiple edges may be adjacent to one port."
+OUTP "This occurs, if the arrows of all these edges have the"
+OUTP "same visual appearance (size, color, ...)."
+OUTP "If we use port sharing, it is recommended to use only"
+OUTP "a fixed set of rotated arrows. Otherwise, the port looks"
+OUTP "like a thick spot since all arrows are differently rotated"
+OUTP "and overlap. This is the arrow mode 'fixed'."
+OUTP "If we don't use port sharing, arrows can be rotated individually."
+OUTP "This is the arrow mode 'free'."
+OUTP ""
+OUTP "Next, we see four times the same graph. At the left examples,"
+OUTP "we use port sharing, but at the right examples, there is no"
+OUTP "port sharing. At the upper examples, we use arrow mode fixed,"
+OUTP "and at the lower examples, we use arrow mode free."
+OUTP ""
+./vcgcount < ../expl/pshar1.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After visualization of this, first, press q into"
+OUTP "the VCG windows at the left sides."
+OUTP "Then, press q into the right VCG windows to go to "
+OUTP "the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG -silent ../expl/pshar1.vcg &
+SLEEP 2
+MYVCG -silent ../expl/pshar3.vcg &
+SLEEP 2
+MYVCG -silent ../expl/pshar2.vcg &
+SLEEP 2
+MYVCG ../expl/pshar4.vcg
+SLEEP 1
+
+
+
+CLEAR
+OUTP "Example: A diagram"
+OUTP "------------------"
+OUTP "This examples shows the influences of different computer"
+OUTP "systems in the context of the development of the computer"
+OUTP "Xerox Star (see Johnson, Roberts, e.a.: The Xerox Star,"
+OUTP "a Retrospective, IEEE Computer; 11-29, Sept. 1989)."
+OUTP "We did some changes in the diagram in order to show the "
+OUTP "possibilities of visualization, but not in order to "
+OUTP "clarify information in the diagram."
+OUTP ""
+./vcgcount < ../expl/xerox.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG ../expl/xerox.vcg
+
+CLEAR
+OUTP "Example: A flow diagram"
+OUTP "-----------------------"
+OUTP "This examples shows a funny flow diagram about the actions"
+OUTP "of a software maintainer if something does not work."
+OUTP "The text is in german. If I tried to translate it, the gags"
+OUTP "would probably disappear."
+OUTP "One speciality here: the centers of the nodes are aligned onto"
+OUTP "a raster by using the attributes xraster and yraster."
+OUTP "Thus, we have many rectangular edges."
+OUTP ""
+./vcgcount < ../expl/softmain.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG ../expl/softmain.vcg
+
+
+CLEAR
+OUTP "Example: Orthogonal layout"
+OUTP "--------------------------"
+OUTP "Flowcharts look much better if all edges consist of"
+OUTP "orthogonal line segments. This is the orthogonal layout"
+OUTP "or manhatten layout."
+OUTP "For the manhatten layout, we use a special method to"
+OUTP "place the nodes: the priority method with the straight"
+OUTP "line detection. It is recommended to use these methods"
+OUTP "when manhatten layout is switched on."
+OUTP ""
+OUTP "Next, we see the previous flow diagram at the left side"
+OUTP "and the same diagram with manhatten layout at the right side."
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After visualization of this, first, press q into"
+OUTP "the VCG window at the left side."
+OUTP "Then, press q into the right VCG window to go to "
+OUTP "the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG -silent ../expl/softmain.vcg &
+SLEEP 2
+MYVCG ../expl/softmain2.vcg
+SLEEP 1
+
+
+CLEAR
+OUTP "Example: A control flow graph of a program"
+OUTP "------------------------------------------"
+OUTP "This example shows the control flow graph of a program."
+OUTP "The decision branches are formed by rhombs and bent nearedges."
+OUTP "Nearedges are horizontal edges that constain the two adjacent"
+OUTP "nodes to be placed directly neighbored at the same level."
+OUTP "Bent nearedges are edges that are bent at the label, and"
+OUTP "the source node and the edge label form a near edge. This gives"
+OUTP "the typical appearance of decision branches."
+OUTP ""
+./vcgcount < ../expl/cfg.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG ../expl/cfg.vcg
+
+
+CLEAR
+OUTP "Example: Another control flow graph"
+OUTP "-----------------------------------"
+OUTP "The next example shows another control flow graph."
+OUTP "Here, the bent nearedges are simulated by some nearedges and"
+OUTP "auxiliary nodes. Again, we use manhatten layout with the"
+OUTP "priority method and the straight line detection."
+OUTP ""
+./vcgcount < ../expl/flchrt.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG ../expl/flchrt.vcg
+
+
+CLEAR
+OUTP "Example: Anchorpoint test"
+OUTP "-------------------------"
+OUTP "This example shows how to use anchorpoints."
+OUTP "It is possible to anchor an edge at each labelline"
+OUTP "of a node. Nodes representing structs look nice"
+OUTP "in this mode. Note but this restricts of course"
+OUTP "the usage of nearedges."
+OUTP "If you select one of the submenus of the menu item"
+OUTP "Node Information and then pick into the large node"
+OUTP "you can see how to use background text."
+OUTP ""
+./vcgcount < ../expl/anchors.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG ../expl/anchors.vcg
+
+
+CLEAR
+OUTP "Example: More anchorpoints"
+OUTP "--------------------------"
+OUTP "This example shows a list of C structs. It demonstrates"
+OUTP "the usage of anchorpoints for visualized debugging"
+OUTP "of data structures."
+OUTP ""
+./vcgcount < ../expl/structs.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG ../expl/structs.vcg
+
+CLEAR
+OUTP "Example: Level test"
+OUTP "-------------------"
+OUTP "This examples shows how to use level specifications."
+OUTP "It is possible to give the nodes arbitrary levels"
+OUTP "for instance to place a node artificially on the top"
+OUTP "of the graph. Normally, the following would be layouted"
+OUTP "as a tree with the root at level 0. But we have specified"
+OUTP "which nodes are at level 0, 1 and 2, such that the root"
+OUTP "is in the center."
+OUTP ""
+./vcgcount < ../expl/levels.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG ../expl/levels.vcg
+
+
+CLEAR
+OUTP "Example: Horizantal layer sorting"
+OUTP "---------------------------------"
+
+OUTP "The VCG tool reorders the nodes in the levels to avoid"
+OUTP "crossings. But sometimes, the writer of a graph specification"
+OUTP "knows a better order of the nodes into the levels."
+OUTP "He can specify this by the attribute horizontal_order at"
+OUTP "the nodes. If all nodes of a level have this attribute,"
+OUTP "the reordering of this level is suppressed."
+OUTP ""
+OUTP "Warning: this feature works only for connected graphs."
+OUTP "Nonconnected parts are layouted separately, such that"
+OUTP "the order of the nodes of a connected component is predictable",
+OUTP "at a level, but not the order of all nodes at a level."
+OUTP "Is is recommended to use this feature only together with"
+OUTP "level specifications, or at trees, where it is clear at"
+OUTP "which level a node apprears."
+OUTP ""
+OUTP "Next, we see a graph where we want to have the nodes"
+OUTP "sorted at the levels in alphabethic order."
+OUTP "Left, we see the original graph by the standard layout"
+OUTP "algorithm. Here, the ordering at the levels is arbitrary."
+OUTP "At the right side, we use the attribute horizontal_order"
+OUTP "on the same graph to yield an alphabethic ordering at the"
+OUTP "Levels."
+
+OUTP ""
+./vcgcount < ../expl/hsort.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After visualization of this, first, press q into"
+OUTP "the VCG window at the left side."
+OUTP "Then, press q into the right VCG window to go to "
+OUTP "the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG -silent ../expl/hunsort.vcg &
+SLEEP 2
+MYVCG ../expl/hsort.vcg
+SLEEP 1
+
+
+CLEAR
+OUTP "Example: Unary tree of depth 100"
+OUTP "--------------------------------"
+
+vcgdemomaker demo001.vcg -unarytree 100
+
+OUTP "This graph is very simple. All edges have class 2."
+OUTP "You can try to hide the edges, expose them or to"
+OUTP "fold regions."
+OUTP ""
+./vcgcount < demo001.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG demo001.vcg
+
+CLEAR
+OUTP "Example: Binary tree of depth 5"
+OUTP "-------------------------------"
+
+vcgdemomaker demo002.vcg -binarytree 5
+CAT demo002.vcg | SED -e "s/xmax/shrink: 2 &/" > demo003.vcg
+
+OUTP "This graph is very simple. All edges have class 2."
+OUTP "Ary-trees look very nice if we use a layout_downfactor."
+OUTP "Here, we used layout_downfactor: 8."
+OUTP ""
+./vcgcount < demo003.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG demo003.vcg
+
+CLEAR
+OUTP "Example: Binary tree of depth 5"
+OUTP "-------------------------------"
+
+CAT demo003.vcg | SED -e "s/layout_downfactor: 8/layout_downfactor: 1/" > demo004.vcg
+
+OUTP "To compare with, we show the same binary tree with"
+OUTP "layout_downfactor: 1."
+OUTP ""
+./vcgcount < demo004.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG demo004.vcg
+
+
+CLEAR
+OUTP "Example: Layout of trees"
+OUTP "-------------------------"
+
+OUTP "Beside the normal layout algorithm, there is a specialized"
+OUTP "algorithm TREE, that lays out trees even without specifying"
+OUTP "a layout_downfactor."
+OUTP "This specialized algorithm can be used for all graphs that"
+OUTP "can be layouted like downward trees, i.e. their edges form"
+OUTP "unshared branches."
+OUTP "This specialized algorithm is often faster than then normal."
+OUTP "algorithm with layout_downfactor."
+
+OUTP "Left, we see a syntax tree by the standard layout algorithm."
+OUTP "At the right side, we see the same tree with the specialized"
+OUTP "algorithm for trees."
+
+OUTP ""
+./vcgcount < ../expl/tree1.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After visualization of this, first, press q into"
+OUTP "the VCG window at the left side."
+OUTP "Then, press q into the right VCG window to go to "
+OUTP "the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG -silent ../expl/tree1.vcg &
+SLEEP 2
+MYVCG ../expl/tree2.vcg
+SLEEP 1
+
+
+CLEAR
+OUTP "Example: More trees"
+OUTP "-------------------"
+
+OUTP "Trees look very nice, if a special version of the manhatten"
+OUTP "layout method is used: the single line manhatten layout."
+OUTP "Here, all horizontal edge segments share the same"
+OUTP "horizontal line. If the graph is not a tree, then this"
+OUTP "will confuse the user, since it might be not anymore clear,"
+OUTP "which vertical lines are connected by the horizontal"
+OUTP "line. But for trees, it looks nice."
+
+OUTP "We see the same syntax tree as before, but now, we use the"
+OUTP "single line manhatten tree layout for the left graph."
+
+OUTP ""
+./vcgcount < ../expl/tree2.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After visualization of this, first, press q into"
+OUTP "the VCG window at the left side."
+OUTP "Then, press q into the right VCG window to go to "
+OUTP "the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG -silent -dtree -smanhatten ../expl/tree1.vcg &
+SLEEP 2
+MYVCG ../expl/tree2.vcg
+SLEEP 1
+
+
+
+
+CLEAR
+OUTP "Example: Edge priorities"
+OUTP "------------------------"
+
+OUTP "Sometimes, we have a graph consisting of two intermixed"
+OUTP "graphs. Or we have one basic graph and additionally, we have"
+OUTP "edges as annotations. In these cases, we want to recognize "
+OUTP "the structure of the basic graph, but the structure is"
+OUTP "interwoven with the additional edges. But the layout is based"
+OUTP "on all edges, which may result in visualizations where "
+OUTP "the structure of the basic graph is not recognizable anymore."
+OUTP ""
+OUTP "In this case, edge priority comes in. We give the edges of"
+OUTP "the basic graph a higher priority. Then, the additional "
+OUTP "annotation edges are neglected during the layout and are"
+OUTP "drawn rather ugly, but the basic graph is visualized nicely."
+OUTP ""
+OUTP "Next, we will see a tree (thick edges) interwoven with some"
+OUTP "additional edges. Left, we show this graph by the standard"
+OUTP "layout algorithm, where the tree is not recognizable."
+OUTP "At the right side, we use priorities, and then we will recognize"
+OUTP "the tree structure."
+
+OUTP ""
+./vcgcount < ../expl/annot1.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After visualization of this, first, press q into"
+OUTP "the VCG window at the left side."
+OUTP "Then, press q into the right VCG window to go to "
+OUTP "the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG -silent ../expl/annot1.vcg &
+SLEEP 2
+MYVCG -silent ../expl/annot2.vcg
+SLEEP 1
+
+
+CLEAR
+OUTP "Example: Fisheyes"
+OUTP "-----------------"
+
+OUTP "Large graphs have normally the disadvantage that we either"
+OUTP "see the whole graph but no details, because the graph is"
+OUTP "shrinked very much, or we see some details at the point of"
+OUTP "interest but lose the overview of the entire graph structure,"
+OUTP "because the window is too small. A good solution of this"
+OUTP "conflict is the fisheye view that distorts the graph such"
+OUTP "that the focus point is magnified while the remaining parts"
+OUTP "of the graph are demagnified smoothly such that the whole"
+OUTP "graph is visible."
+OUTP "A fisheye view is a coordinate transformation and has"
+OUTP "similiarities with the corresponding photo camera lenses."
+OUTP ""
+OUTP "Next, we will see a large graph. Left, we show the graph"
+OUTP "by the standard view. Right, we see the same graph by the"
+OUTP "cartesian fisheye view. The focus point can be selected"
+OUTP "interactively by the operation Pick Position."
+
+OUTP ""
+./vcgcount < ../expl/fishex3c.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After visualization of this, first, press q into"
+OUTP "the VCG window at the left side."
+OUTP "Then, press q into the right VCG window to go to "
+OUTP "the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG -silent -ypos 170 ../expl/fishex3c.vcg &
+SLEEP 2
+MYVCG -silent -xpos 518 -ypos 1790 -view cfish ../expl/fishex3b.vcg
+SLEEP 1
+
+
+CLEAR
+OUTP "Example: Cartesian fisheyes and polar fisheyes"
+OUTP "----------------------------------------------"
+
+OUTP "Cartesian fisheyes transform the cartesian coordinate system"
+OUTP "while polar fisheyes transform the polar coordinate system."
+OUTP "A polar fisheye can be seen as a mapping of the space onto a"
+OUTP "spheric ball. The polar fisheye does not preserve horizontal"
+OUTP "and vertical lines, while the cartesian fisheye does."
+OUTP "Note that fisheyes may introduce additional bendings of lines"
+OUTP "and crossings that do not appear in the plane view."
+OUTP "However, these effects are seldom and occur due to efficiency"
+OUTP "reasons."
+OUTP ""
+OUTP "Next, we will see the same graph as before. Left, we show the"
+OUTP "graph by the polar fisheye view. Right, we see the graph again"
+OUTP "by the carthesian fisheye view."
+
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After visualization of this, first, press q into"
+OUTP "the VCG window at the left side."
+OUTP "Then, press q into the right VCG window to go to "
+OUTP "the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG -silent -xpos 518 -ypos 1790 -view pfish ../expl/fishex3a.vcg &
+SLEEP 2
+MYVCG -silent -xpos 518 -ypos 1790 -view cfish ../expl/fishex3b.vcg
+SLEEP 1
+
+
+CLEAR
+OUTP "Example: Fisheyes with fixed radius"
+OUTP "-----------------------------------"
+
+OUTP "If not the whole graph but only a fixed area around the focus"
+OUTP "point is of interest, we use the fisheyes with fixed radius."
+OUTP "Then, not the whole graph is visible but only the region around"
+OUTP "the focus point."
+OUTP "While for normal (self adaptable) fisheyes, the location of the"
+OUTP "focus point moves in the window relatively to its movement in"
+OUTP "the graph, the focus point of the fisheyes with fixed radius is"
+OUTP "always centered in the window."
+OUTP ""
+OUTP "Next, we will see a graph with fisheyes of fixed radius. Left,"
+OUTP "we show the graph by the cartesian fisheye view. Right, we see"
+OUTP "the graph again by the polar fisheye view."
+
+OUTP ""
+./vcgcount < ../expl/fishex2a.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After visualization of this, first, press q into"
+OUTP "the VCG window at the left side."
+OUTP "Then, press q into the right VCG window to go to "
+OUTP "the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG -silent -xpos 2300 -ypos 253 -view fcfish ../expl/fishex2a.vcg &
+SLEEP 2
+MYVCG -silent -xpos 2300 -ypos 253 -view fpfish ../expl/fishex2b.vcg
+SLEEP 1
+
+
+CLEAR
+OUTP "Example: Another diagram"
+OUTP "-------------------------"
+
+OUTP "This diagram (Gansner, Koutsofios, e.a.: A Technique"
+OUTP "for Drawing Graphs; IEEE Trans. Soft. Eng. 19, 3, March 93)"
+OUTP "shows the dependencies of different shells."
+OUTP "Here we see a combination of features of the VCG tool."
+OUTP "First, the graph is made connected by 3 invisible edges."
+OUTP "The priority of these edges is set to zero such that"
+OUTP "they do not influence the layout too much. As contrast,"
+OUTP "the layout_downfactor and layout_upfactor is set to 100."
+OUTP "The attribute level is used to set the nodes at the"
+OUTP "appropriate time axis. The attribute horizontal_order"
+OUTP "is used to get the time axis at the left side of the"
+OUTP "graph. Further, we have used splines for the edges."
+
+OUTP ""
+./vcgcount < ../expl/shells.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG ../expl/shells.vcg
+
+
+CLEAR
+OUTP "Example: Ternary tree of depth 7"
+OUTP "---------------------------------"
+OUTP "Wait half a minute ..."
+
+vcgdemomaker demo005.vcg -ternarytree 7
+CAT demo005.vcg | SED -e "s/xmax/shrink: 2 &/" > demo006.vcg
+
+OUTP "Now a first torture test. This graph is a ternary tree"
+OUTP "with about 3000 nodes and 3000 edges."
+OUTP "We use the normal algorithm with downfactor: 8."
+OUTP "We need about 20 seconds (on a Sparc ELC) to layout it."
+OUTP "WARNING: the visualization may fail on small computers"
+OUTP " because of memory exhausted."
+OUTP ""
+./vcgcount < demo006.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG demo006.vcg
+
+
+CLEAR
+OUTP "Example: Two level cross graph"
+OUTP "------------------------------"
+
+vcgdemomaker demo007.vcg -twolevelcross 1000
+
+OUTP "This is a torture test for bary centering."
+OUTP "This graph is specified in an ugly format with a lot"
+OUTP "of unnecessary crossings. The tool removes these "
+OUTP "crossings."
+OUTP ""
+./vcgcount < demo007.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG demo007.vcg
+
+CLEAR
+OUTP "Example: Nearedge test"
+OUTP "----------------------"
+
+vcgdemomaker demo008.vcg -leveltree 4
+CAT demo008.vcg | SED -e "s/xmax/shrink: 4 &/" > demo009.vcg
+
+OUTP "This is a torture test for near edge layout."
+OUTP "This tree is has a lot of near edges, i.e. "
+OUTP "edges between nodes at the same level."
+OUTP "The nodes of a near edge should be neighboured."
+OUTP ""
+./vcgcount < demo009.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG demo009.vcg
+
+CLEAR
+OUTP "Example: Complete graphs"
+OUTP "------------------------"
+
+vcgdemomaker demo010.vcg -allconnect 5
+
+OUTP "The complete graph has edges between all nodes."
+OUTP "If we have n nodes, then we have about n*n/2 edges."
+OUTP "Here we test the speed of the VCG tool, because "
+OUTP "such graphs are very difficult to layout."
+OUTP "An complete graph of 5 nodes is layouted very fast."
+OUTP ""
+./vcgcount < demo010.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG demo010.vcg
+
+CLEAR
+OUTP "Example: Complete graphs"
+OUTP "------------------------"
+
+vcgdemomaker demo011.vcg -allconnect 10
+CAT demo011.vcg | SED -e "s/xmax/shrink: 10 stretch: 7 &/" > demo012.vcg
+
+OUTP "An complete graph of 10 nodes needs a few seconds."
+OUTP ""
+./vcgcount < demo012.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG demo012.vcg
+
+CLEAR
+OUTP "Example: Complete graphs"
+OUTP "------------------------"
+
+vcgdemomaker demo013.vcg -allconnect 20
+CAT demo013.vcg | SED -e "s/xmax/shrink: 100 stretch: 32 &/" > demo014.vcg
+
+OUTP "An complete graph of 20 nodes needs about 25 seconds"
+OUTP "on a Sparc ELC."
+OUTP ""
+./vcgcount < demo014.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG demo014.vcg
+
+CLEAR
+OUTP "Example: Complete graphs"
+OUTP "------------------------"
+
+vcgdemomaker demo015.vcg -allconnect 30
+CAT demo015.vcg | SED -e "s/xmax/shrink: 10 stretch: 2 &/" > demo016.vcg
+
+OUTP "An complete graph of 30 nodes needs about 110 seconds"
+OUTP "on a Sparc ELC."
+OUTP ""
+./vcgcount < demo016.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG demo016.vcg
+
+CLEAR
+OUTP "Example: Complete graphs"
+OUTP "------------------------"
+
+OUTP "If we have such complex graphs, it is often not necessary"
+OUTP "to have a nice layout, because the graphs are to large "
+OUTP "to see all details at the same time."
+OUTP "In this case, we set the fast flag (option -f) that reduces"
+OUTP "the number of iterations of various layout steps."
+OUTP "Next, we see the same complete graph of 30 nodes as before, however"
+OUTP "now the fast flag is set."
+OUTP "Then, we need only 15 seconds (compared to 100 seconds before),"
+OUTP "but the layout is very ugly."
+
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG -f demo016.vcg
+
+
+CLEAR
+OUTP "Example: Intermediate representation of a compiler (HIR)"
+OUTP "--------------------------------------------------------"
+
+OUTP "The next example comes from the REAL WORLD."
+OUTP "It shows the High Intermediate Representation (HIR)"
+OUTP "of a CLaX program. It is a syntax tree annotated by"
+OUTP "types."
+OUTP "You see the procedure declarations. The main module is"
+OUTP "actually folded (see the green triangle)."
+OUTP "If you select the menu point Hide edges, you will recognize"
+OUTP "that the edge classes are named in this example."
+OUTP "We use the layout algorithm TREE."
+OUTP ""
+./vcgcount < ../expl/tstree.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "We need a few seconds to visualize this. Please wait."
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG ../expl/tstree.vcg
+
+CLEAR
+OUTP "Example: Intermediate representation of a compiler (CCMIR)"
+OUTP "----------------------------------------------------------"
+
+OUTP "The next example again comes from the REAL WORLD."
+OUTP "It shows the Common Compare Medium Intermediate"
+OUTP "Representation (CCMIR) of a very simple C program."
+OUTP "This graph was generated by the ACE C frontend and a trivial"
+OUTP "additional visualization engine. The edge classes 1-5"
+OUTP "are hidden, otherwise the layout would be to ugly."
+OUTP "They can be exposed by menu selections."
+OUTP ""
+./vcgcount < ../expl/ccmir.vcg
+OUTP ""
+OUTP "Remind: most important keybord commands of vcg"
+OUTP " q - quit the VCG tool"
+OUTP " a "
+OUTP " d c (arrow keys) - scroll to the left/right/up/down"
+OUTP " b "
+OUTP " + - stretch "
+OUTP " - - shrink "
+OUTP ""
+OUTP "After the visualization of this, press q into "
+OUTP "the VCG window to go to the next demonstration."
+
+OUTP "Press Carriage Return key to start visualization ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+MYVCG ../expl/ccmir.vcg
+
+
+CLEAR
+OUTP "Example: Animation demo 1 (communication by touching)"
+OUTP "-----------------------------------------------------"
+OUTP "We show a small animation that demonstrate the "
+OUTP "communication between the VCG tool and a controller "
+OUTP "program called animation3."
+OUTP "The controller program sends signals to the VCG tool."
+OUTP "The VCG tool indicates the completion of vizualization"
+OUTP "by touching its input file."
+OUTP "This demonstration shows a sequence of insertions into"
+OUTP "a red black tree. We see rotations that rebalance the tree."
+OUTP "IMPORTANT: Do not quit the VCG tool. Do not give any "
+OUTP " input (keypress, menu selection) to the VCG tool."
+OUTP " Wait ! The animation is finished automatically."
+
+OUTP ""
+OUTP "Press Carriage Return key to start the animation ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+animation3
+
+OUTP "Ready ! Press Carriage Return key to continue ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+CLEAR
+OUTP "Example: Animation demo 2 (communication by signals)"
+OUTP "----------------------------------------------------"
+OUTP "We show another small animation that demonstrate the "
+OUTP "communication between the VCG tool and a controller "
+OUTP "program called animation1."
+OUTP "The controller program sends signals to the VCG tool."
+OUTP "The VCG tool indicates the completion of vizualization"
+OUTP "by sending a signal back to the controlling program."
+OUTP "IMPORTANT: Do not quit the VCG tool. Do not give any "
+OUTP " input (keypress, menu selection) to the VCG tool."
+OUTP " Wait ! The animation is finished automatically."
+
+OUTP ""
+OUTP "Press Carriage Return key to start the animation ..."
+set f = $<
+if ("$f" == "QUIT") goto finishup
+
+animation2
+
+OUTP "Ready ! Press Carriage Return key to finish the demonstration."
+
+
+finishup:
+CLEAR
+OUTP "This was the demonstration of the vcg tool"
+
+OUTP ""
+loopa:
+ OUTP "Should the directory be cleaned ?"
+ OUTP "1 : yes 0 : no "
+ OUTP "y : yes n : no "
+ set wsys = $<
+ switch ($wsys)
+ case y:
+ case 1:
+ OUTP "Cleanup ..."
+ OUTP "Test" > demoaaa.vcg
+ OUTP "Test" > animaaa.vcg
+ OUTP "Test" > rbtreeaaa.vcg
+ RM demo*.vcg anim*.vcg rbtree*.vcg
+ breaksw
+ case n:
+ case 0:
+ breaksw
+ default:
+ OUTP ""
+ OUTP "*** invalid input ***"
+ goto loopa
+ endsw
+OUTP "Goodbye ..."
+