Next: Future directions
Up: Oorange: A Virtual Laboratory for Experimental Mathematics
Previous: Connectivity to other programs

Previous work

Oorange has borrowed and/or inherited features from a variety of software products, each of which addressed in some way the challenge of the virtual laboratory. One of these influences is GRAPE [11], a mathematical programming environment of the SFB 256 at the University of Bonn. GRAPE pioneered an object oriented approach similar to Objective C in connection with mathematical visualization. The focus on data objects was extended in Oorange to the concept of a dependency graph of programmable objects.

Geomview [8], a 3D visualization tool from the Geometry Center, features the concept of an external module, an independent computational unit which feeds geometric information to the viewer and vice-verse. This concept is similar to the node in Oorange. geomview lacks however the ability to create network graphs from nodes; the default graph is a star with the viewer at the center and external modules on the periphery. AVS, as described above (Section 3.2), is a ancestor of Oorange and much of the network design was a response to its perceived shortcomings.

Open Inventor [15] had a strong influence on the design of the 3D classes. However, Oorange chose a more flexible node model than Open Inventor's, in which the node and its contents are more separated. New node contents in Inventor is achieved typically by subclassing the node class. VTK [10] deserves mention here even though it has no influence on Oorange, since it was developed simultaneously and independently. It offers a Tcl interface to a large C++ class library focused on 3D visualization tasks. There are AVS-like data flow classes.

The inspection component of Oorange is, to our knowledge, more sophisticated than the analogous services offered in other existing systems. The integration of the animation component with the network update mechanism appears to be an original contribution.

Copyright © 1997 Sonderforschungsbereich 288, Differential Geometry and Quantum Physics, TU-Berlin