aiSee: Graph Animation

aiSee employs two different animation concepts. First, some internal layout calculations can be animated under the control of some options. Second, the entire aiSee tool can be used as an animation handler which animates a sequence of graph specifications. (Note that this has nothing to do with the -multi option.)

Animation of layout phases (aka smooth transitions)

Smooth transitions If a new layout is calculated for a graph and if animation of layout phases is turned on, the nodes move smoothly from their initial positions in the layout to the newly calculated ones, enabling the user to keep visual track of layout changes. (See example, 27kB). The GDL graph attribute amax: Int specifies the maximum number of animation steps. This number can be changed interactively in the View dialog box. Specifying 0 means animation is turned off.

Animating graph specification sequences

PAG Anim aiSee can be used as an animation handler to animate a sequence of graph specifications. For example, a program can continuously output GDL specifications to a file. When the program has produced one instance of output, it informs aiSee that the graph specification is available. Then aiSee displays the new instance of the graph. After visualization, aiSee indicates completion to the program generating the graph specifications, thus enabling the program to output the next graph specification.

Consequently, the program and aiSee represent a client-server model. The program calls aiSee with the option -a Int. After relayout, aiSee sleeps for Int seconds, then it attempts a callback to the parent process. aiSee has to have been started with the option -ddemsg (Windows) or -x11msg (Unix). Then the program and aiSee communicate with one another as a server and client. The Windows version communicates over a Dynamic Data Exchange (DDE) channel, the Unix versions use user signals.

Here is an example of a Unix shell script that uses aiSee to animate all GDL-files in the directory it is called from:

#! /bin/sh
files=`ls *.gdl`
tmpnam=`mktemp /tmp/temp.XXXXXX`

cat <<EOM > $tmpnam
graph: { title: "" }
EOM
aisee -a 1 $tmpnam &
pid=$!
sleep 2

for f in $files; do
    echo $f
    cp $f $tmpnam
    kill -s SIGUSR1 $pid
    sleep 3
done

rm $tmpnam
kill $pid

The following command line options are available:

  • -a Int
    Starts aiSee as an animation handler. After relayout, aiSee sleeps for Int seconds then attempts a callback to the parent process. There are three different callbacks, the callback method being controlled by the options -callback, -sigback (Unix only), and -touchback (Unix only).
  • -callback
    The parent process is contacted after each relayout by the X11 event ClientMessage (Unix) or by Windows interprocess communication routines. Communication between the parent process and aiSee doesn't work unless aiSee was started with the option -x11msg (Unix) or -ddemsg (Windows).
  • -sigback
    The parent process is contacted after each relayout by the SIGUSR1 signal (Unix only). Note: SIGUSR1 causes aiSee to reload the GDL file, with SIGUSR2 causing aiSee to close its main window.
  • -touchback
    The parent process is contacted after each relayout by accessing the specification file (Unix only), i.e. it gets a new time stamp.

 Related links

 » Animation examples and downloads
 » User Actions and DDE
 » Command line options
 » Ordering info

HomeSitemapai
Last modified on 3 December 2002 by webmaster. © 2002 AbsInt.
URL: http://www.aisee.com/download/anim.htm


Home
About
Examples

 Free trial
» DDE demo
» Animation
» aiCall
» StackAnalyzer
» aiLink
» Excel2GDL
» Apache2GDL
» dot2GDL
» Matrix2GDL

Support
Store
Legal
Contact
Extras
Sitemap