DataViewer is a set of C++ routines, written using OpenGL, which provides a high level interface for writing visualization programs. The user interacts with DataViewer in two ways. First the user writes a C++ function (using DataViewer library calls) which adds the users data to the DataViewer rendering tree. Once this is accomplished DataViewer provides a Tk widget in which the users data is displayed. This Tk widget can then easily be wrapped in a user interface using Python or TCL (NOTE: while wrapping in TCL, or any other language which uses Tk for that matter, is possible all of the current examples use Python).
INSTALLATION:
DataViewer has the following prerequisites (NOTE: they can all be downloaded from:
http://lcvmwww.epfl.ch/DV/availability.html
as well as the places mentioned in the descriptions. All of the versions at this URL have been tested to confirm that they work with DataViewer.)
DataViewer uses templates extensively. As of this writing
there is no standard for template instantiation. DataViewer
has been set up to use either g++-2.7.2 (or later) or
the SGI C++ development environment 7.0 (or later).
Specifically it, has been tested on gcc 2.7.2.3, egcs 1.0.2,
egcs 1.1.1, and egcs 1.1.2.
The easiest way to install g++ on your system, if
you do not have it already, is to use the egcs distribution.
The egcs homepage is http://egcs.cygnus.com/
.
After unpacking the distribution just follow
the installation instructions which come with the distribution.
The configure script will try and determine which types
of templates you compilers uses.
The homepage for Tcl is http://www.tclconsortium.org
.
After unpacking the distribution just follow
the installation instructions which come with the distribution.
The homepage for Tk is http://www.tclconsortium.org
.
After unpacking the distribution just follow
the installation instructions which come with the distribution.
The homepage for python is www.python.org
.
After unpacking the distribution just follow
the installation instructions
which come with the distribution. In addition you need to
insure that _tkinter (the Python/Tk interface) is enabled.
This is normally done by editting the Setup.in file
in Pythons "Modules" directory. Please see the
Python documentation for more information.
Mesa is a free library which follows the OpenGL API and
is available even for machine which do not have hardware
rendering capabilities. It can be down-loaded from
http://www.ssec.wisc.edu/~brianp/Mesa.html
and can be
used if your machine does not have native OpenGL.
NOTE: if you are using Mesa as your rendering library
you have to set the environment variable DV_GRAPHIC_LIB
to be Mesa before running the "runme.sh" script.
ftp://contrib.redhat.com/contrib/libc6/i386/Mesa-3.1beta1-3.i386.rpm ftp://contrib.redhat.com/contrib/libc6/i386/Mesa-devel-3.1beta1-3.i386.rpm
(See the "rpm" manual page for more information on rpm files.)
To compile DataViewer you just need to go into the DataViewer directory and run the configure script by typing:
configure
Once the configure script has finish you can then type:
make
The configure script will try and figure out where the above pieces of software are installed on your system. If something goes wrong you can try and use:
configure --help
This will give you a list of command line options that can be used with configure.
You can test to see if everything is running correctly by running shell script "runme.sh" (currently this only runs one of the demo programs. Just click on File -> User to bring up the control panel. Open the directory applications/PythonDV_demo_complex/data in the file browser and double click on the file "ala_min.crd". Middle button rotates, Right button translates, and Shift-Middle button zooms.) NOTE: if you are using Mesa as your rendering library you have to set the environment variable DV_GRAPHIC_LIB to be Mesa before running the "runme.sh" script.
The DataViewer tutorial is under development! (as of July 14, 1998)
Check http://lcvmwww.epfl.ch/DV
to find if it is ready.
VBM is mainly composed of Python scripts, so it requires that Python 1.5 (or greater) is installed our your system. Also, even though VBM does not explicitly require DataViewer to function, all of the interesting visualization modules currently us DataViewer as the rendering library.
So, to compile VBM you need to have an environment variable set to tell VBM where the DataViewer libraries may be found:
should be set to the absolute pathname in which DataViewer is installed
If you are using Mesa as your graphics library, you also need to set:
The default is OpenGL, if you using Mesa you should set this to be "Mesa"
If you wish to compile the development version of VBM you should set the following variable:
If this variable is not set then the normal version of VBM is compiled. If this variable is set, to the value "true" for example, then the developer version of VBM will be compiled.
Note: The developer version of VBM can be difficult to compile and normally requires significant knowledge of the machine of which you are trying to compile.
Once these variables are set, you can compile the program using the command:
make
This will read in the Make.include file from the DataViewer directory and set all of the appropriate variables. If that is set up correctly you should be all set.
NOTE: VBM uses some GNUmake specific features and may not work with normal BSD style make programs.
To run the example you need to be in the VBM installation directory, have the python binary in your path, and run the command:
bin/DV.py python_script/vbm.py -f data/perfect.recomp
You should see a control panel, if you hit the button marked "Add bifur" a window should come up with a complex shape, made out of lines, with a sphere on it. If this happens everything is installed correctly!