inventor_eoe Release Notes
1 Introduction
2 Installation Information
3 New Features
- 1 -
1. Introduction
Open Inventor 2.0 Execution Environment is required on any
system that runs Open Inventor 2.0 programs. There are a
variety of programs that require this subsystem and thus it
is installed by default. Most users do not have to concern
themselves with the details of this subsystem; simply
install the defaults and enable Inventor programs to run.
The curious user may be interested in running the Inventor
demonstration programs (inventor_eoe.demo.progs), or
browsing the sample 3d models that are supplied
(inventor_eoe.sample.data). Run /usr/sbin/ivview to browse
the sample models (ivview is installed as part of
inventor_eoe.sw.inventor).
Open Inventor 2.0 is the second major release of Inventor,
and runs on IRIX 5.2-based operating systems. It contains a
plethora of new features and fixes since IRIS Inventor 1.0.
Important Note: The Inventor 2.0 Execution Environment
includes two compatibility subsystems that allow programs
linked with either Inventor 1.1* or Inventor 1.0.1 to run on
Irix 5.2.
The Open Inventor Development Kit is available as a separate
product; it is an object-oriented 3D toolkit that offers a
comprehensive solution to 3D graphics programming problems.
It dramatically simplifies and empowers programmers writing
3d graphics programs. If you write 3d graphics programs, or
have a hankering to start, then you really should check out
Inventor!
Note: Packaged with this software is a separate sheet that
contains the Software License Agreement. This
software is provided to you solely under the terms
and conditions of the Software License Agreement.
Please take a few moments to review the Agreement.
This document contains the following chapters:
1. Introduction
2. Installation Information
3. New Features
- 2 -
1.1 Inventor_Releases_and_Binary_Compatability
IMPORTANT: Due to C++'s virtual tables, C++ libraries are
not binary compatible. Thus, each Inventor release/version
has a unique run-time shared library or DSO. An Inventor
program linked with release 1.0 can ONLY run if the run-time
shared library for 1.0 is installed (libInventor_s). An
Inventor program linked with Inventor 1.0.1 can ONLY run if
the run-time library for 1.0.1 is installed
(libInventor1.0.1_s).
With the advent of DSO's and 5.0, things changed a little,
but the concept is the same. Rather than creating run-time
shared libraries for each release (_s), we create DSO's
(.so). The name of the MOST RECENT DSO is libInventor.so.
Older versions of DSOs will be called libInventor.so.x. This
renaming occurs when an updated Inventor is installed. For
example, when developers install Inventor 2.0 (including the
compatibility sub-systsem), a new libInventor.so will be
installed, plus libInventor.so.1 for 1.1.2 programs.
Programs will automatically find the `right' DSO and use it
to run (assuming that it was installed).
- 3 -
Here's a list of the existing supported Inventor releases:
Release Irix Need run-time Notes
1.0.1 4.0.1 libInventor1.0.1_s Bug fixes to 1.0
1.1.2 5.1.1 libInventor.so Onyx, Challenge, and
Indy
2.0 5.2 libInventor.so THE release to use.
Here's a basic rule of thumb:
If you are running Inventor programs linked with `older' versions
of Inventor than what is currently installed on your system, then
you need to install the appropriate inventor_eoe compatibility sub-systems.
1.2 Online_Release_Notes
After you install the online documentation for a product
(the relnotes subsystem), you can view the release notes on
your screen.
If you have a graphics system, select ``Release Notes'' from
the Tools submenu of the Toolchest. This displays the
grelnotes(1) graphical browser for the online release notes.
Refer to the grelnotes(1) man page for information on
options to this command.
If you do not have a graphics system, you can use the
relnotes command. Refer to the relnotes(1) man page for
accessing the online release notes.
- 1 -
2. Installation_Information
This chapter lists information supplemental to the IRIS
Software Installation Guide. The information listed here is
product-specific; use it with the Installation Guide to
install the Open Inventor Execution Environment.
2.1 Open_Inventor_Execution_Environment_Subsystems
Open Inventor includes these subsystems:
inventor_eoe.sw.inventor Required subsystem to run
Inventor 2.0 programs
inventor_eoe.data.sample A variety of Inventor 3D clip
objects
inventor_eoe.demo.progs Inventor 2.0 demo programs
inventor_eoe.man.pages Open Inventor man pages for
tools and demos
inventor_eoe.man.relnotes These release notes
inventor_eoe.sw.1_0 Run-time shared libraries (_s)
for Inventor 1.0.1 - install
this subsystem if you have
Inventor 1.0.1 programs linked
on Irix 4.0.
inventor_eoe.sw.1_1 Run-time dynamic libraries
(.so) for Inventor 1.1.2 -
install this subsystem if you
have Inventor 1.1.2 programs
linked on Irix 5.*.
inventor_eoe.sw.help Help cards for Inventor Xt
components
- 2 -
2.2 Open_Inventor_Subsystem_Disk_Space_Requirements
This section lists the subsystems (and their sizes) of the
Open Inventor Execution Environment software.
If you are installing this software for the first time, the
subsystems marked ``default'' are the ones that are
installed if you use the ``go'' menu item. To install a
different set of subsystems, use the ``install,''
``remove,'' ``keep,'' and ``step'' commands in inst to
customize the list of subsystems to be installed, then
select the ``go'' menu item.
Note: The listed subsystem sizes are approximate. Refer to
the IRIS Software Installation Guide for information
on finding exact sizes.
Subsystem Name Subsystem Size
(512-byte blocks)
inventor_eoe.data.sample 15051
inventor_eoe.demo.progs 2330
inventor_eoe.man.pages (default) 64
inventor_eoe.man.relnotes (default) 38
inventor_eoe.sw.1_0 12416
inventor_eoe.sw.1_1 (default) 10388
inventor_eoe.sw.help 3051
inventor_eoe.sw.inventor (default) 14058
2.3 Installation_Method
All of the subsystems for Open Inventor Execution
Environment can be installed using IRIX. You do not need to
use the miniroot. Refer to the IRIS Software Installation
Guide for complete installation instructions.
2.4 Configuration_Files
The X resource file for Inventor Xt Components is
/usr/lib/X11/app-defaults/Inventor. It contains the X
resource default settings for components. See the individual
Xt component man pages for details on the resources used.
- 1 -
3. New_Features
This chapter describes the major new features added to Open
Inventor 2.0 since IRIS Inventor 1.0. Note that Open
Inventor is a software development kit and these features
will probably not be of interest to end-users. See the
Release Notes for the Open Inventor Development Kit for
details on what is new, what is changed, and what is
obsolete.
3.1 New_System_Features_Summary
This section describes the major system feature additions in
Inventor 2.0. See The Inventor Mentor (2.0 programming
guide) or read the man pages for details.
Open Inventor Licensing Open Inventor 2.0 represents the
first release of Inventor that is licensed to third
parties to run on other platforms (e.g., Sun, HP). Open
Inventor employs OpenGL for all rendering.
The Inventor Mentor and The Inventor Toolmaker Since Open
Inventor has been licensed to run on other platforms,
the programming guides have been published and
distributed by Addison-Wesley Publishing Company. The
books are typically available in bookstores that offer a
good technical book selection. The Inventor Mentor is
volume I of the programming guide and describes the
fundamentals of Inventor proramming. The Inventor
Toolmaker is volume II and provides advanced information
for programmers who want to extend Inventor.
Automatic caching This release supports intelligent,
automatic caching on the parts of the database that are
not changing. Previously, caching was either `on' or
`off' (set at SoSeparator nodes). Inventor 2.0 supports
a third setting, `auto'. This SIGNIFICANTLY improves
performance and simplifies programming. Note that there
are four kinds of caching possible: render, bounding
box, culling, and picking. Caching is described in
detail in The Inventor Mentor.
Dynamic loading This release uses Dynamic Shared Objects
(DSO). This is a recent Unix feature that replaces and
obsoletes static shared libaries. As of the 5.0 Irix
release, static shared libraries can no longer be built.
See /usr/share/src/Inventor/samples/Makefile* for
examples on how to write a Makefile for Inventor 2.0.
Note that other libraries are implied and need not be
referenced in the link line.
- 2 -
Error handling Inventor now supports a formal error handling
system. Note that the API was not affected by this
change. All Inventor error messages are now posted to
an SoError class. The application can supply its own
error handlers, thus making it possible to route error
messages to dialogs, as well as stderr or stdout. All
handlers are called by the SoError::handleError()
method. When debugging, you can set a breakpoint on this
method to stop right before an error is handled. See The
Inventor Mentor (programming guide) for details, or see
man pages for SoError and SoReadError.
Naming Nodes, paths, and engines can have names (strings)
associated with them. There are methods on
SoBase::setName() and getName() to set/get names. To
search for objects by name, see SoNode::getByName(),
SoPath::getByName, and SoEngine::getByName(). Also, the
SoSearchAction can now search based on the name.
Object subclassing An improved and simplified node
subclassing scheme is introduced in this release. See
the Extender Changes and Features chapter and The
Inventor Toolmaker (programmming guide, volume 2) for
details.
OpenGL rendering Open Inventor 2.0 uses OpenGL for all
rendering; there are no calls to Iris GL in Inventor
2.0.
Improved Printing Printing has been completely reimplemented
using OpenGL rendering to an off-screen image. All
rendering features can now be printed (e.g. textures and
transparency). Printing can render a scene to an
offscreen X pixmap and return either a Postscript bitmap
image or an unsigned char buffer.
Reading 1.0 files Inventor 2.0 reads 1.0 files and does the
best job possible to convert to 2.0.
Render Culling Inventor now supports object level culling to
the viewport. Culling, like caching, is controlled by
SoSeparators.
Unknown nodes Inventor 2.0 reads unrecognized node classes
from file and attempts to use them. When an unknown
class is read, Inventor will search for an accompanying
DSO file and use it, (uses environment variable
LD_LIBRARY_PATH to search for file classname.so) If none
is found, an SoUnknownNode or SoUnknownEngine is created
and used instead. Note that this will only work if the
"fields" entry is defined for this node - see the file
- 3 -
format chapter of The Inventor Mentor.
This release also supports a special option for nodes
called alternateRep. It can store a scene graph
composed of standard Inventor nodes which will be
rendered as a stand-in for your unrecognized node.
During writing, the node or engine is written back out.
Note that this mechanism works only with Inventor 2.0
files; unrecognized nodes in an Inventor 1.0 file will
still generate a read error (but see the section in
these release notes for information on writing upgraders
for Inventor 1.0 nodes). This mechanism allows user
subclassed nodes to be exportable, renderable, and re-
usable. See The Inventor Mentor for details.
3.2 Inventor_Tools_and_Demos
3.2.1 Inventor_Tools_-_New_or_Improved The Inventor tools
are utility programs that Inventor users and developers may
find useful on a daily basis. They are installed with the
inventor_eoe.sw.inventor subsystem. Note that the source is
included with the Inventor Developer's Kit. The executables
are installed in /usr/sbin/iv*.
ivcat Reads an Inventor file and prints to stdout in ascii
or binary format. This program is handy for converting
files between ascii and binary formats. A few new
features have been added to this tool since 1.0 (e.g, -t
removes texture file dependency) - type `man ivcat' for
details.
ivinfo Prints basic information about an Inventor file -
type `man ivinfo' for details.
ivview A NEW, FAST, and very SIMPLE Inventor viewer program
that uses ivquicken - type `man ivview' for details.
ivquicken This NEW program optimizes an Inventor file for
faster rendering - see man page for details.
iv2toiv1 This NEW program attempts to convert an Inventor
2.0 data file into a 1.0 file - see man page for
details. It obviously cannot be perfect, but it does an
good job.
3.2.2 Inventor_Demos_-_New_or_Improved The Inventor demos
are installed with the inventor_eoe.demo.progs subsystem.
Note that the source code to these demos (and more) is
included in the Inventor Developer's Kit. These programs
are either entertaining or educational, and easy to use.
The executables are installed in /usr/demos/Inventor/*.
- 4 -
SceneViewer A few features have been removed from the 1.0
version of SceneViewer.
drop A NEW 3d tetris-like game.
gview A NEW program that edits 3d scene graph databases.
maze A NEW 3d skill game.
qmorf Same old 3d quad mesh metamorphosing program.
revo Same old surface of revolution modeling program.
textomatic Same old 3d extruded text creation program.