next up previous
Next: Predefined Objects Up: A Language for Creating Previous: Introduction

The IVL Language

The IVL language is designed to be a rapid prototyping language for VRML/Inventor graphics programming. IVL programs are much shorter than functionally-equivalent C++ implementations and require no compilation as the language is interpreted---that is, commands are executed and the result apparent in the viewer window immediately.

IVL commands resemble English rather than a typical programming language. This feature makes it easy for even non-programmers to assemble and manipulate scenes.

IVL has four basic capabilities:

  1. Defining new graphical object classes. New classes can be defined as any existing scene graph and can be read from a file or from a URL. The scene graph can be either a VRML graph or an Inventor graph. These new classes augment the predefined, atomic classes.
  2. Defining new graphical objects. Objects do not exist until they are instanced. The programmer must create objects before drawing anything.
  3. Drawing objects in the browser window. This amounts to modifying the scene graph being viewed by the browser. All objects except for the first are drawn in relation to another already-drawn object.
  4. Moving objects according to data files. This is a special case of keyframe animation. The programmer can ``attach'' a data file with an x,y,z coordinate list (one SFVec3f per line) which is used as a motion path. The relative coordinates are placed in a SoTransform attached to the graphics object and repeatedly updated to simulate motion.

In addition, this particular IVL implementation is capable of writing out the scene graph at any point and can read in this graph (or any other VRML ascii file, stored locally or at some URL) as a new graphical object class. Further, programs may be stored in text files and executed as if they had been typed in manually, allowing programmatic control of the scene graph. Applications can effect animations or control the ``behavior'' of objects in this manner.

next up previous
Next: Predefined Objects Up: A Language for Creating Previous: Introduction

Timothy F. Rohaly
Terence J. Parr
Mon Sep 11 11:59:26 EDT 1995