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).
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 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 Tix is http://www.xpi.com/tix
.
After unpacking the distribution just follow
the installation instructions which come with the distribution.
(NOTE: This web page has been down since around September
1, 1998. This software can probably more easily be found
on our web page above).
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 and
for the demo applications you need to enable the Tix
extension to _tkinter as well.
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.
The Makefiles in DataViewer use GNUmake specific features
and may not work with normal BSD style make programs.
GNUmake can be found at
ftp://prep.ai.mit.edu/pub/gnu/make-3.76.1.tar.gz
To compile DataViewer you just need to edit Make.include and follow the instructions. Basically you will need to edit the variables:
where the tcl headers are
where the tk headers are
where the python headers are
where the OpenGL libraries are
where the OpenGL headers are
the ld flag(s) for creating a shared library on your system
the template for your system
There are three optional variables that you might have to change under certain circumstances:
sets the graphic library (currently "OpenGL" or "Mesa"). The default can be reset in Make.include, or you can set it as an environment variable.
set to the directory in which the Xext library resides, if you are running Mesa and it is not in the default search path (e.g. on RedHat 4.2 linux)
This variable can be uncommented if you want to use the MIPSpro C++ 7.x compiler instead of g++.
Then just type:
make
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.)
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!