                AGAT
    Another Graphic Animation Tool.



-------------
What is AGAT?

Algorithm animation is a good way to understand the dynamic behavior
of programs. Zeus and XTango are two softwares for doing
algorithm animation. However they both share the same lack of
simplicity. The aim of this work was to design and implement a new
tool named Agat (Another Graphic Animation
Tool) which allows fast production of algorithm animation.

This first version is based on a client-server architecture. Data are
first sent through streams by the algorithm then are used by a stream
processor to produce an animation. The most innovative aspect of 
Agat is the use of a language to describe simply the operations
(including graphical one) to perform on asynchronous streams.

According to the first experience we made, algorithm animation
with Agat is quite simple and powerful.


you may find some pictures of agat animation and some more explanations using:
http://zenon.inria.fr:8003/safir/SAM/Agat/agat.html

--------
WARNINGS

This is the Draft version of this installation package.
Docs are not complete but I hope they are clear enough to allow you to use
this package.

It has been tested on:
SPARCstation 20 (Sun4)    SUNOS4.1.3 
Dec 5000 (station)        ULTRIX V4.3A 
DEC 3000/600 (Alpha)      DEC OSF/1 V3.0
Pc  p100/MBintel          Linux 1.2.0

Any info about other portage would be apreciated!
Some new graphical operators should soon be available.

Please report bugs! (Unknown bugs are rarely autocorrected :)


-------
INSTALL

To install it you have two options:
(* stands for a version number)

- get a precompiled version (they are compiled -static)
  - choose the right one (hope it's provided ;)
  - gunzip agat-*-bin-.tar.gz
  - tar xvf agat-*-bin.tar
  - then put the 'agat' executable somewhere in your PATH
  - put libAGAT.h and libAGAT.a where you want but remember to add 
    corresponding -I and -L in your compilation options.
  - send a registration mail (regmail)
  - it's time to read the manual :)

- get the full source distribution
  - gunzip agat-*-src.tar.gz
  - tar xvf agat-*.tar
  - cd Agat*
  - xmkmf
  - make Makefile
  - make Makefiles
  - make
  - during make you should be prompted to send a mail.
    This is the simplest way I thought of to enable registration of new users.
    If all works as planed you would be automaticaly advised of new releases.
  - then put the 'agat' (Server/agat) executable somewhere in your PATH 
  - put libAGAT.h and libAGAT.a where you want but remember to add 
    corresponding -I and -L in your compilation options.
  - it's time to read the manual :)



You should add some default for agat in your X ressources. See Agat.ad
A good idea is to ask your Window Manager to place new windows at random
position.
If you don't specify this, you won't be able to use button1 function.


--------
EXAMPLES

To see some examples cd to the Samples directory and take a look at the file
'README'. 
There are some ready to use animations.

If you type 'agat' without parameters you get a short overview of its options
and parameters.


-------
HISTORY

This is the version 1.5 of agat Wed Oct 11 09:05:47 MET 1995


1.5

better code for messages. now X event handling is done even if algo is running 
without sending messages (no agatsend)
support for linux has been extensively tested (since I have a pc on my desk ;)


1.4

removed ASAP library. messages are send using home-made code.
extensive use of Imakefiles
portage for linux and osf1
some internal surgery :)

1.3

better 3d rescale
bug in auto-center of 3d objects corrected
some minor bugs correction
a better memory managment for 3d operators
new key stroke are interpreted in display windows:
T, t : Tiny window
N, n : Normal size window
B, b : Big window

1.2

a new set of post-processing operators
2d:
- matrix :
  a kind of 2d grid where value are displayed as rectangle of variable color
  or size
  rectangles are at pined on a regular grid
- boxes :
  filled or empty rectangles (drawn where you want)

3d:
- plot3d :
  plotter for 3d coordinates
- plot3dLine :
  same but points are linked with lines
- plot3dLineInt :
  same but a fourth parameter allow to interupt lines (thus it's possible to
  draw more than one curve in one window)
these 3d plots may be rotated using mouse (drag with 2nd button) interacting
with a virtual ball.

a quite complete set of resources are now customisable through the standard X
ressource Manager. (ie: your Xdefaults xrdb or XAPPLRESDIR) see documentation
for an exhaustive list.

a new zoom is usable with third mouse button

some key stroke are interpreted in display windows:
K, k : Kill a zoom window.
P, p : Create a PostScript file which name is the name of the window.
Q, q : Exit program.
R, r : Force the refresh of a window.
S, s : Stop the animation. Press key to restart


1.1

this version hasn't been shifted out of our team ;)


1.0

first release of agat (september 1993)
refer to documentation for a list of all functionalities.




Don't mind asking if you have problems...


                Olivier Arsac & Stephane Lavirotte


Olivier.Arsac@sophia.inria.fr http://www.inria.fr:8003/safir/SAFIR/oarsac/home.html
Stephane.Lavirotte@sophia.inria.fr http://www.inria.fr:8003/safir/SAFIR/slavirot/home.html


