DataViewer is a scientific visualization library created to allow the easy development of efficient visualization programs for those who are not graphics programming experts. It consists of a high-level set of routines for rendering geometric objects and utilizes the OpenGL graphics API for its low level rendering. DataViewer has been used for several different visualization tasks, e.g. most of VBM's visualization modules have been developed using it. The goals that have driven the design of DataViewer are to be efficient, easy to use, portable, closely connectable to numerical computations, and available free of charge to the mathematical and scientific community.
DataViewer visualization package
Copyright (C) 1997 Randy Paffenroth, Thomas Stone, Dana Vrajitoru and Angela Ahearn
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details.
You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
DataViewer2.0 is written entirely in C++, and uses many of the language's object oriented features, such as templates and virtual functions. Each class in DataViewer2.0 inherits from a single base class called DVobject. Each DVobject defines a draw routine which canonically contains a set of OpenGL commands that create the graphical representation of the object. In addition, each DVobject contains a set of properties, such as color, translation, and rotation. These properties will be discussed in greater detail below.
Python gives access to the Tk widget library, which DataViewer utilizes for the design of GUIs. Tk is a library of widgets which can be accessed from a wide variety of languages, including Tcl, Python, C/C++, and Perl. It is a robust and mature code which has implementations on all Unix systems as well as Microsoft Windows. In our opinion, Tk is much easier to use than Motif and makes the GUI more flexible. With Tk and Python it is quite easy for the user of DataViewer to create custom GUIs for their problems.
Finally, DataViewer2.0 provides several features which are accessible in any application which uses the library. For example, DataViewer provides stereo viewing capabilities, using hardware such as Crystal Eyes and access to six degree-of-freedom controls, such as Logitech's Magellan.