Open Inventor Redistribution

General

Your Open Inventor Development License entitles you to use the SDK to create and execute Open Inventor programs on the licensed machine. Please refer to the actual text of the license, included with the SDK as LICENSE.TXT, for complete details.

Once you have created an Inventor application to distribute, it must be packaged with certain components from the SDK in order to run outside the development environment. In order to redistribute these components, you must have a separate Run-Time License by Mercury Computer Systems.

Some installations of Open Inventor include the DLL or library for Qt (Trolltech - www.trolltech.com). Mercury is a licensed commercial Qt developer and this DLL is included to allow certain demo/example executables to run. This does not give you any rights (that you do not already have) to redistribute Qt.

Licensing

A run-time license is required for Open Inventor and each Open Inventor extension that is used by your application. Run-time licenses are (in most cases) locked to a specific computer. Here are the steps involved in setting up a run-time license.

  1. Get the MCS Computer ID of the user's computer. The user will need to run a simple program on their computer and send its output to you.

    • On Windows, you can provide the License Admin program

          <OIV_INSTALL_DIR>\License\ladmin.exe (and MFC42.DLL)

      which will display the computer ID when the user clicks in the MCS Computer ID box.

      Alternatively, you can provide:

          <OIV_INSTALL_DIR>\program\MCScomputerID

      which must be run from a command prompt.

    • On UNIX and Linux, you must provide:

          <OIV_INSTALL_DIR>/license/MCScomputerID

  2. Send the user's MCS Computer ID to the Mercury License Administrator, who will generate the run-time license(s).

  3. Send the run-time license to the user, along with instructions for its deployment. You, as the software distributor, are responsible for deciding how you want your end users to specify the password (e.g., via the system registry, using a password file, etc.) and for giving them appropriate instructions.

    On Windows, you are allowed to distribute the files in:

        <OIV_INSTALL_DIR>\License

    including ladmin.exe and its associated help files. It is only necessary to distribute these files if you want your users to store their Open Inventor licenses in their system registry.

NOTE: If you have a master password agreement, other policies and practices apply relative to the disclosure and distribution of passwords. This information is provided in the materials that you receive with your master password.

Windows

The Open Inventor run-time system is dependent on the operating system and the compiler version that Open Inventor was compiled with. Some of the required libraries are operating system dependent.

Open Inventor DLLs

The Run-Time License permits you to redistribute these files, which are necessary for an Open Inventor 7.2 for Win32 run-time distribution:

INV720.DLL
INVR720.DLL
InvGui720.DLL
INVW720.DLL
ScaleViz720.DLL
DirectViz720.dll
ScaleVizGui720.DLL
ScaleVizGuiQt720.DLL
ClusterCom-base.DLL
ClusterCom-local.DLL
ClusterCom-mpi.DLL
RemoteVizPlugIn.DLL
Ivf720.DLL
IvfU720.DLL
DialogViz720.DLL
DirectVizQt720.DLL
DirectVizShaders720.DLL
DirectVizW720.dll
HardCopy720.DLL
HardCopyW720.DLL
InvFXViz720.DLL
InvQt720.DLL
InvWx720.DLL
InvSV720.DLL
INVTViz720.DLL
INVTVizW720.DLL
IVvr720.DLL
LDM720.DLL
MeshViz720.DLL
MeshVizW720.DLL
ResViz720.DLL

IvTune.DLL

version 7.2
version 7.2
version 7.2
version 7.2
version 7.2
version 7.2
version 7.2 (Only required if application makes use of Cluster Mode)
version 7.2 (Only required if SoQt application makes use of Cluster Mode)
version 7.2 (Only required if application makes use of Cluster Mode)
version 7.2 (Only required if application makes use of Cluster Mode)
version 7.2 (Only required if application makes use of Cluster Mode)
version 7.2 (Only required if application makes use of Cluster Mode)
version 7.2 (Only required if making use of IVF MBCS application)
version 7.2 (Only required if making use of IVF UNICODE application)
version 7.2 (Only required if utilizing DialogViz application)
version 7.2 (Only required if utilizing DirectViz application, see below for more)
version 7.2 (Only required if utilizing DirectViz application)
version 7.2 (Only required if utilizing DirectViz application)
version 7.2 (Only required if utilizing HardCopy application)
version 7.2 (Only required if utilizing HardCopy application)
version 7.2 (Only required if utilizing FXViz application)
version 7.2 (Only required if utilizing SoQt application)
version 7.2 (Only required if utilizing SoWx application)
version 7.2 (Only required if utilizing SolidViz application)
version 7.2 (Only required if utilizing TerrainViz application)
version 7.2 (Only required if utilizing TerrainViz application)
version 7.2 (Only required if utilizing VolumeViz application)
version 7.2 (Only required if utilizing ReservoirViz or VolumeViz application)
version 7.2 (Only required if utilizing MeshViz application)
version 7.2 (Only required if utilizing MeshViz application)
version 7.2 (Only required if utilizing ReservoirViz application)

version 7.2 (Only required if you want access to IvTune from your app.) NOTE: IvTune requires the DLL (shared library) for FxViz, MeshViz, ScaleViz, SolidViz, TerrainViz, and VolumeViz, as well as InvQt, InvGui and the Qt DLL for the version of Qt that was used to build IvTune. If you plan to allow IvTune to be launched from your application, then you must redistribute all of these files, even if they are not otherwise required by your application.

IvDLAcis.DLL
IvDLALut.DLL
IvDLBZlib.DLL
IvDLDxf.DLL
IvDLFlt.DLL
IvDLFreeType.DLL
IvDLJasper.DLL
IvDLJpeg.DLL
IvDLLm.DLL
IvDLPdf.DLL
IvDLPng.DLL
IvDLProj4.DLL
IvDLOpenAL32.DLL
IvDLTiff.DLL
IvDLZlib.DLL

CATIA, IGES, STEP import
Spatial sound management
Compression library
DXF import
OpenFlight import
FreeType support
JPEG 2000 support (import/export)
JPEG support (import/export)
FLEXnet floating license support
PDF/U3D support
PNG support (import/export)
Cartographic projection support
Spatial sound management
TIFF support (import/export)
Compression library

These files are normally installed in the <OIV_INSTALL_DIR>\Program directory. Unless otherwise indicated, all of these files must be supplied.

NOTE: You do not have the right to distribute debug DLLs, e.g., INV720D.DLL.

The DLLs prefixed with "IvDL" are dynamically loaded. Your application can tell Open Inventor to load alternate DLLs using the following environment variables:

OIV_ALUT_NAME
OIV_BZLIB_NAME
OIV_FREETYPE_NAME
OIV_LIBACIS_NAME
OIV_LIBDXF_NAME
OIV_LIBFLT_NAME
OIV_LIBJASPER_NAME
OIV_LIBJPEG_NAME
OIV_LIBPNG_NAME
OIV_LIBPROJ4_NAME
OIV_LIBTIFF_NAME
OIV_OPENAL_NAME
OIV_ZLIB_NAME

If you have chosen to use one or more alternate DLLs, be sure to distribute the alternate DLLs that your application needs.

In order for your user to use the Open Inventor DLLs, the directory containing these DLLs must be found in one of the following locations: the application directory, the current directory, the system directory, the Windows directory, %PATH%. The dynamically loaded DLLs are searched for in all the same places, plus %OIV_LD_LIBRARY_PATH%.

Note that the DLL file names will be different for different versions of Open Inventor.

OpenRTRT Required DLLs

The following files must be redistributed if your application uses DirectViz:
OpenRTClient.exe
libOpenRT.dll
libRTX.dll
pthreadVCE2.dll (32 bits )
pthreadVC.dll (64 bits )

OpenRT client
OpenRTRT kernel library
OpenRTRT shaders library
Threading library

PDF 3D export required DLLs

The following files must be redistributed if your application uses PDF 3D export:
hpdf.dll
IFXCore.dll
Plugins\IFXExporting.dll
Plugins\IFXScheduling.dll

Other Required DLLs

UNIX

The Open Inventor run-time system is dependent on the compiler version and the operating system the Open Inventor release was compiled with. Some of required system libraries are operating system dependent.

Open Inventor Libraries

The Runtime License permits you to redistribute these files, which are necessary for an Open Inventor 7.2 UNIX platform runtime distribution:

libInventor.so/sl
libInventorGui.so/sl
libInventorXt.so/sl
libimage.so/sl
libScaleViz.so/sl
libDirectViz.so/sl
libDialogViz.so/sl
libDirectVizQt.so/sl
libDirectVizShaders.so/sl
libDirectVizXt.so/sl
libScaleVizGui.so/sl
libScaleVizGuiQt.so/sl
libClusterCom-base.so/sl
libClusterCom-local.so/sl
libHardCopy.so/sl
libHardCopyXt.so/sl
libInventorFXV.so/sl
libInventorWx.so/sl
libInventorQt.so/sl
libInventorQt4.so/sl
libInventorSV.so/sl
libInventorTViz.so/sl
libInventorTVizXt.so/sl
libInventorVR.so/sl
libLDM.so/sl
libMeshViz.so/sl
libMeshVizXt.so/sl
libResViz.so/sl

libIvTune.so/sl

version 7.2
version 7.2
version 7.2
version 7.2
version 7.2
version 7.2 (Only required on Linux platform)
version 7.2 (Only required if DialogViz application)
version 7.2 (Only required if DirectViz application, see below for more)
version 7.2 (Only required if DirectViz application)
version 7.2 (Only required if DirectViz application)
version 7.2 (Only required if application makes use of Cluster Mode)
version 7.2 (Only required if application makes use of Cluster Mode)
version 7.2 (Only required if SoQt application makes use of Cluster Mode)
version 7.2 (Only required if application makes use of Cluster Mode)
version 7.2 (Only required if HardCopy application)
version 7.2 (Only required if HardCopy application)
version 7.2 (Only required if FXViz application)
version 7.2 (Only required if SoWx application)
version 7.2 (Only required if SoQt application)
version 7.2 (Only required if SoQt application using Qt 4.x)
version 7.2 (Only required if SolidViz application)
version 7.2 (Only required if TerrainViz application)
version 7.2 (Only required if TerrainViz application)
version 7.2 (Only required if VolumeViz application)
version 7.2 (Only required if ReservoirViz or VolumeViz application)
version 7.2 (Only required if MeshViz application)
version 7.2 (Only required if MeshViz application)
version 7.2 (Only required if ReservoirViz application)

version 7.2 (Only required if you want access to IvTune from your app.)
NOTE: IvTune requires the shared library for FxViz, MeshViz, ScaleViz, SolidViz, TerrainViz, and VolumeViz, as well as libInventorQt, libInventorGui and the Qt shared library for the version of Qt that was used to build IvTune. If you plan to allow IvTune to be launched from your application, then you must redistribute all of these files, even if they are not otherwise required by your application.

libIvDLBZlib.so/sl
libIvDLDxf.so/sl
libIvDLFlt.so/sl
libIvDLFreetype.so/sl
libIvDLJasper.so/sl
libIvDLJpeg.so/sl
libIvDLLm.so/sl
libIvDLPdf.so/sl
libIvDLPng.so/sl
libIvDLProj4.so/sl
libIvDLTiff.so/sl
libIvDLZlib.so/sl

Compression library
DXF import
OpenFlight import
FreeType support
JPEG 2000 support (import/export)
JPEG support (import/export)
FLEXnet floating license support
PDF 3D support
PNG support (import/export)
Cartographic projection support
TIFF support (import/export)
Compression library

These files are normally installed in the <OIV_INSTALL_DIR>/lib directory. Unless otherwise indicated, all of these files must be supplied.

The libraries prefixed with "libIvDL" are dynamically loaded. Your application can tell Open Inventor to load alternate libraries using the following environment variables:

OIV_BZLIB_NAME
OIV_FREETYPE_NAME
OIV_LIBDXF_NAME
OIV_LIBFLT_NAME
OIV_LIBJASPER_NAME
OIV_LIBJPEG_NAME
OIV_LIBPNG_NAME
OIV_LIBPROJ4_NAME
OIV_LIBTIFF_NAME
OIV_ZLIB_NAME

If you have chosen to use one or more alternate libraries, be sure to distribute the alternate libraries that your application needs.

Note that in order for your user to use the Inventor libraries, they need to be in a directory whose path is in the LD_LIBRARY_PATH environment variable. The dynamically loaded libraries are searched for in the following locations: $LD_LIBRARY_PATH and $OIV_LD_LIBRARY_PATH.

OpenRTRT Required Libraries

The following files must be redistributed if your application uses DirectViz:
OpenRTClient
libOpenRT.so
libRTX.so

OpenRT client
OpenRTRT kernel library
OpenRTRT shaders library

PDF 3D export required Libraries

The following files must be redistributed if your application uses PDF 3D export:
libhpdf.so
libIFXCore.so
Plugins/IFXExporting.so
Plugins/IFXScheduling.so

Other Required Libraries

On 32-bit Solaris only, the following libraries are required by VolumeViz 7.2.

libvli3.so.3.2
libvli3.so (a symlink to libvli3.so.3.2)

These files are for the support of the VolumePro boards from TeraRecon and are provided with the Open Inventor SDK. They must be present even if you will not be using the VolumePro boards.

Resource File for Viewers (Motif only)

The strings used for labeling GUI components and menu items in a standard Open Inventor viewer are supplied in the following Motif resource file:

<OIV_INSTALL_DIR>/app-defaults/Inventor

This file should be distributed with your application and placed where Motif will find it. Motif searches in /usr/lib/X11/app-defaults as well as in the directories specified by the XAPPLRESDIR environment variable. See Motif documentation for further details.

NOTE: If you forget to supply this resource file, the internal widget names will be used for the names; the strings will all start with the prefix "Iv".

OS Independent

VolumeViz Predefined Shaders

If your application uses VolumeViz, you will need to redistribute the predefined shader files from <OIV_INSTALL_DIR>/data/volumeviz/shaders. Open Inventor searches for predefined shaders in the current directory, then in the directory specified by environment variable IVVR_SHADERS_PATH. On Windows, it additionally searches in the directory that contains the VolumeViz DLL.

ScaleViz Files

If your application is a cluster-enabled application, you must distribute the following files:

You will also need to distribute a selection of configuration files and appropriate instructions so that the user can select the one that is appropriate for his/her cluster configuration.

Note that whether your application is cluster-enabled or not, you will need to distribute the ScaleViz shared library as indicated previously.

WARNING: IvTune Access to Scene Graph

By default, a user can launch IvTune from any Open Inventor viewer with just a few keypresses (SHIFT+F12 by default). IvTune allows the user to view the scene graph contents and even modify them. To protect your application's scene graph, we recommend disallowing this feature when you distribute your application. The most secure method is to disable IvTune access programmatically, either by calling

   SoDB::setIvTuneAllowed(FALSE);
or by calling
   SoPreferences::setBool("OIV_NO_IVTUNE",TRUE);
It is also possible to disable IvTune access by setting the environment variable OIV_NO_IVTUNE to 1 via a script, or by not supplying the necessary shared libraries. However, this would not be as secure since a determined user could alter the script and/or possibly obtain the shared libraries from another source.

Open Inventor Font Files

If your application uses the Open Inventor stroke fonts (<OIV_INSTALL_DIR>/data/fonts), you may distribute the font files used by your application. Open Inventor looks for stroke font files in the directory specified by environment variable OIV_STROKE_FONT_PATH.

Dragger Geometry Files

If your application uses draggers that you have customized by supplying modified dragger geometry files, you will need to supply these modified dragger geometry files to your customers. Open Inventor looks for dragger geometry files in the directory specified by environment variable SO_DRAGGER_DIR.

It is NOT necessary to distribute the standard dragger geometry files because the default dragger geometry is already compiled into the Open Inventor DLLs. You may choose to compile custom dragger geometry into your application.

Material Palette Files

If you anticipate that your customer will use the Material Palette (which is part of the standard Material Editor), you may wish to distribute the materials used by the Material Palette:

    <OIV_INSTALL_DIR>\data\materials

On Windows, Open Inventor searches for the materials in the directory specified by the following system registry item:

HKEY_LOCAL_MACHINE
  SOFTWARE
    Mercury Computer Systems S.A.
      Shared Resources
        MATERIALS_PATH
On UNIX, Open Inventor searches for the materials in the following locations:

Help File

The standard Open Inventor viewers have a "?" button on the right side used for accessing a help file. By default, it accesses the Open Inventor Reference Manual which contains information suitable for Open Inventor programmers. If you want to use this button to provide useful information to your end users, you will need to create a help file containing information specific to your application, and then tell the Inventor viewer to display your help file when the "?" button is pressed. See SoWinComponent or SoQtComponent for details. Be sure to include your custom help file when distributing your application.