Licensing
Your Open Inventor Development License entitles you to use the SDK to create and execute Open Inventor programs on the licensed machine. You may need an additional Run-Time license agreement with Thermo Fisher Scientific allowing you to redistribute the Open Inventor run-time.

A run-time license is required for Open Inventor and each Open Inventor extension that is used by your application. The steps involved in setting up a run-time license are listed in the Licensing section.

Note that runtime licenses cannot unlock Open Inventor SDK installations. Since Open Inventor version 8, runtime licenses fail to unlock Open Inventor based applications when :

An Open Inventor SDK installer has been used on the system, or
One of the Open Inventor SDK directories doc, include, arch*\lib (Windows only) or src can be found on disk, or Application is using OIV debug components

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.


Java
The Open Inventor Java run-time located in the jre folder contains several JAR files implementing the Java part of the API and a C++ run-time of the native part. The JAR files are portable across platforms like any other Java component but the C++ run-time is platform dependent. Thus redistributing Open Inventor Java requires to build separate installers for each platform.

The following packages are included in the Open Inventor Java run-time:

    • com.openinventor.inventor.jar: Core package
    • com.openinventor.inventor.ui.awt.jar: AWT package
    • com.openinventor.inventor.io.stl.jar: STL package
    • com.openinventor.hardcopy.jar: Hardcopy package
    • com.openinventor.ivtune.jar: IvTune package
    • com.openinventor.imageviz.jar: ImageViz package
    • com.openinventor.meshviz.jar: MeshViz package
    • com.openinventor.volumeviz.jar: VolumeViz package
    • com.openinventor.ldm.jar: LDM package
    • com.openinventor.remoteviz.jar: RemoteViz package
    • com.openinventor.meshvizxlm.mapping.jar: MeshViz Data Mapping package
    • com.openinventor.meshvizxlm.extractors.jar: MeshViz Extraction package
    • com.openinventor.meshvizxlm.mesh.jar: MeshViz Mesh interfaces package

The jre folder can be copied as is for redistribution. The property file located in the properties folder must also be redistributed.


OS dependant files

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.

AncreOpen Inventor DLLs
The Run-Time License permits you to redistribute these files, which are necessary for an Open Inventor on Windows. Unless otherwise indicated, all of these files must be supplied.

NOTE: You are not allowed to distribute debug DLLs, e.g., InventorD.DLL.

    • fei_inventor.dll
    • fei_inventor_base.dll
    • fei_inventor_gl.dll
    • fei_inventor_image.dll
    • fei_inventor_renderengine.dll
    • fei_glew.dll
    • fei_ImageAccess.dll
    • fei_boost_chrono.dll
    • fei_boost_date_time.dll
    • fei_boost_filesystem.dll
    • fei_boost_log.dll
    • fei_boost_system.dll
    • fei_boost_thread.dll
    • fei_boost_random.dll

Note: the TBB libraries and entry points have been renamed to avoid conflicts with other versions used in customer applications.

AncreDynamically loaded DLLs
The following DLLs are dynamically loaded and must be redistributed

    • fei_bzlib.dll: Compression library (1)
    • fei_zlib.dll: Compression library (2)
    • fei_freetype.dll: FreeType font support (3)
    • fei_libjpeg.dll: JPEG support (import/export) (4)
    • fei_libpng.dll: PNG support (import/export) (5)
    • fei_inventor_license.dll: FLEXnet floating license support
    • fei_hpdf: PDF/U3D support
    • fei_proj4.dll: Cartographic projection support (6)
    • fei_smlib.dll: CSG library

Note that your application can ask Open Inventor to load alternate versions of these DLLs. For this, you have to use the following environment variables (for matching please refer to the number in brackets in list above):

    1. OIV_BZLIB_NAME
    2. OIV_ZLIB_NAME
    3. OIV_FREETYPE_NAME
    4. OIV_LIBJPEG_NAME
    5. OIV_LIBPNG_NAME
    6. OIV_LIBPROJ4_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%.

AncreImport/Export file format DLLs
Following files must be redistributed if your application import one of the specific file format listed below. Notice that CATIA, STEP and IGES readers require a separate license.

    • fei_inventor_io_cad.dll: CATIA, IGES, STEP import ++ (specific license)
    • fei_inventor_io_dxf.dll: DXF import
    • fei_inventor_io_slt.dll: STL import/export
    • fei_inventor_io_genericFile.dll: Raster images & VolumeViz formats import

AncreCuda DLLs
Following files must be redistributed if your application uses an Open Inventor class that depends on CUDA.

    • fei_inventor_computing_algorithms.dll
    • fei_inventor_computing_cuda.dll: Only required if using CUDA optimization module
    • fei_inventor_computing_cuda_algorithms.dll: Only required if using CUDA optimization module

OpenCL DLLs
Following files must be redistributed if your application uses an Open Inventor class that depends on OpenCL.

    • fei_inventor_computing_algorithms.dll
    • fei_inventor_computing_openCL.dll: Only required if using OpenCL optimization module
    • fei_inventor_computing_openCL_algorithms.dll: Only required if using OpenCL optimization module

Qt DLLs
Following files must be redistributed if your application uses Open Inventor with Qt.

    • fei_inventor_ui.dll
    • fei_inventor_ui_qt.dll
    • fei_dialogViz_qt.dll
    • Qt5Core.dll: Only required if using SoQt application
    • Qt5Gui.dll: Only required if using SoQt application
    • Qt5OpenGL.dll: Only required if using SoQt application
    • Qt5PrintSupport.dll: Only required if using SoQt application
    • Qt5Widgets.dll: Only required if using SoQt application
    • platforms/qminimal.dll
    • platforms/qwindowsd.dll
    • bin/Qt
    • bin/QtGraphicalEffects
    • bin/QtQml
    • bin/QtQuick
    • bin/QtQuick.2
    • bin/sqldrivers
    • bin/iconengines
    • bin/iconengines

Wx DLLs
Following files must be redistributed if your application uses Open Inventor with Wx.

    • fei_inventor_ui.dll
    • fei_inventor_ui_wx.dll: Only required if using SoWx application

DialogViz DLLs
Following files must be redistributed if your application uses the Open Inventor DialogViz extension.

    • fei_inventor_ui_win.dll: Depends on Win
    • fei_dialogViz_qt.dll: Depends on Qt5

IvTune DLLs
Only required if you want access to IvTune from your application. IvTune requires the DLL (shared library) for FxViz, MeshViz XLM, 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.

    • fei_ivTune.dll 
    • fei_hardCopy.dll 
    • fei_ivTune_extender.dll 
    • fei_ivTune_extender_default.dll
    • fei_ivTune_extender_tools.dll: Only required if using Open Inventor extension for  IvTune
    • fei_ivTune_extender_volumeVizLDM.dll: Only required if using VolumeViz/LDM extension for IvTune
    • bin/qtplugins: IvTune required plugins

AncreAbout Qt DLLS
Some installations of Open Inventor include the DLL or library for Qt (Digia- qt-project.org). FEI is a licensed commercial Qt developer and this DLL is included to allow certain demonstration or example programs to run and is used by the ivTune program. This does not give you any rights (that you do not already have) to redistribute Qt.

AncreVolumeViz Required DLLs
Following files must be redistributed if your application uses the VolumeViz extension.

    • fei_volumeViz.dll
    • fei_ldm.dll

AncreMeshViz XLM Required DLLs
Following files must be redistributed if your application uses the MeshViz XLM extension.

    • fei_meshVizXLM_dataMapping.dll
    • fei_meshVizXLM_extractor.dll

RemoteViz Required DLLs
Following files must be redistributed if your application uses the RemoteViz extension.

    • fei_remoteViz_services.dll
    • fei_remoteViz_client.dll
    • fei_avcodec.dll
    • fei_avfilter.dll
    • fei_avformat.dll
    • fei_avutil.dll
    • fei_remoteViz_ffmpeg_codec.dll
    • fei_remoteViz_jpeg_codec.dll
    • fei_remoteViz_nvidia_video_codec.dll
    • fei_remoteViz_png_codec.dll
    • fei_swresample.dll
    • fei_swscale.dll
    • fei_boost_chrono-mt.dll
    • fei_boost_thread-mt.dll
    • fei_boost_random-mt.dll
    • fei_boost_signals-mt.dll

AncreImageViz Required DLLs
Following files must be redistributed if your application uses the ImageViz extension (32 or 64 bits version depending on the used architecture):

    • fei_imageViz.DLL
    • fei_ldm.dll
    • fei_proxy.ImageAccess.dll
    • fei_proxy_AccessVisilib.dll
    • fei_proxy_Data.dll
    • fei_proxy_ippro51.dll
    • fei_proxy_LgSkeletonPolyg.dll
    • fei_proxy_porosity.dll
    • fei_proxy_Process.dll
    • fei_proxy_Reconstruction.dll
    • fei_proxy_ServiceHandler.dll
    • fei_proxy_VisilogAPI.dll
    • fei_proxy_VisilogIP.dll
    • fei_proxy_VisilogProxy.dll
    • fei_proxy_VlgUtil.dll
    • fei_proxy_vip_jero.dll
    • fei_proxy_vip_magn.dll
    • fei_proxy_vip_nabu.dll
    • fei_boost_chrono-mt.dll
    • fei_boost_thread-mt.dll
    • fei_boost_filesystem-mt.dll
    • fei_boost_regex-mt.dll
    • fei_boost_iostreams-mt.dll
    • fei_proxy_boost_chrono-mt.dll
    • fei_proxy_boost_context-mt.dll
    • fei_proxy_boost_date_time-mt.dll
    • fei_proxy_boost_filesystem-mt.dll
    • fei_proxy_boost_iostreams-mt.dll
    • fei_proxy_boost_program_options-mt.dll
    • fei_proxy_boost_regex-mt.dll
    • fei_proxy_boost_system-mt.dll
    • fei_proxy_boost_thread-mt.dll
    • fei_proxy_tbb.dll

AncreHardCopy Required DLLs
Following files must be redistributed if your application uses the HardCopy extension:

    • fei_hardCopy.dll
    • fei_hpdf.dll
    • fei_ifx_core.dll

AncreMeshViz Required DLLs

Following files must be redistributed if your application uses the (classic) MeshViz extension.

    • fei_meshViz.dll

AncreTBB required DLLs

    • fei.tbb.dll
    • fei_tbbmalloc.dll
    • fei_tbbmalloc_proxy.dll

AncreOther Required DLLs

  • The following Microsoft files are required by Open Inventor 10 depending on which version of Visual C++ you are using:
    • Visual Studio 2015We recommend to install Microsoft Visual C++ 2015 Update 2 Redistributable. (vcredist_xXX.exe available in the directory arch-Windows-xXX-msvc14-Release\bin)
      • MSVCP140.dll: Always required
      • VCRUNTIME140.dll: Always required
      • VCOMP140.dll: Always required
    • Visual Studio 2013:  We recommend to install Microsoft Visual C++ 2013 Update 1 Redistributable. (vcredist_xXX.exe available in the directory arch-Windows-xXX-msvc12-Release\bin)
      • MSVCR120.dll: Always required
      • MSVCP120.dll: Always required
      • VCOMP120.dll: Always required

If you are distributing your application on non-English (US) based versions of Microsoft Windows, you may need to distribute MSVCIRT.dll as well.

NOTE: You should always test your product distribution on a system that has Windows (and *only* Windows) installed. If software other than Windows (e.g., Microsoft Office) has been installed on the test system, there may be DLLs present on the system that would not otherwise be present. You could be misled into thinking that your distribution supplies all the necessary DLLs when in fact it doesn't.

You can use the "depends" tool to determine what DLLs are required to run your appliation. A GUI version of this tool is included with Visual Studio, and a command-line version can be found on the internet.

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.

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

    • lib_fei_inventor.so: version 10 
    • libfei_inventor_ui.so: version 10
    • libfei_inventor_base.so: version 10
    • libfei_inventor_image.so: version 10
    • libfei_inventor_gl.so: version 10
    • libfei_inventor_ui_xt.so: version 10
    • libfei_inventor_computing_algorithms.so: version 10
    • libfei_inventor_ui_dialogs.so: version 10 (Only required if record feature is activated in viewer)
    • libfei_inventor_computing_cuda.so: version 10 (Only required if using CUDA optimization module)
    • libfei_inventor_computing_cuda_algorithms.so: version 10 (Only required if using CUDA optimization module)
    • libfei_inventor_computing_openCL.so: version 10 (Only required if using OpenCL optimization module)
    • libfei_inventor_computing_openCL_algorithms.so: version 10  (Only required if using OpenCL optimization module)
    • libfei_dialogViz.so: version 10  (Only required on Linux platform)
    • libfei_dialogViz_qt.so: version 10  (Only required if DialogViz application)
    • libfei_inventor_ui_wx.so: version 10  (Only required if SoWx application)
    • libfei_inventor_ui_qt.so: version 10  (Only required if SoQt application using Qt 5.x)
    • libfei_inventor_ui_xt: version 10  (Only required if SoQt application using SoXt)
    • libfei_volumeViz.so: version 10 (Only required if VolumeViz application)
    • libfei_ldm.so: version 10 (Only required if VolumeViz/LDM application)
    • libfei_imageViz: version 10 (Only required if ImageViz application)
    • libfei_meshVizXLM_dataMapping.so: version 10  (Only required if MeshViz XLM application)
    • libfei_meshVizXLM_extractor.so: version 10  (Only required if MeshViz XLM application)
    • libfei_meshViz.so: version 10  (Only required if MeshViz application)

AncreImageViz Required Libraries
Following files must be redistributed if your application uses the ImageViz extension:

    • libImageViz.so
    • LDM.so
    • libLDM.so
    • libfei_proxy_ImageAccess.so
    • libfei_proxy_AccessVisilib.so
    • libfei_proxy_Data.so
    • libfei_proxy_ippro51.so
    • libfei_proxy_LgSkeletonPolyg.so
    • libfei_proxy_porosity.so
    • libfei_proxy_Process.so
    • libfei_proxy_Reconstruction.so
    • libfei_proxy_ServiceHandler.so
    • libfei_proxy_VisilogAPI.so
    • libfei_proxy_VisilogIP.so
    • libfei_proxy_VisilogProxy.so
    • libfei_proxy_VlgUtil.so
    • libfei_proxy_vip_magn.so
    • libfei_proxy_vip_jero.so
    • libfei_proxy_vip_nabu.so
    • libfei_boost_chrono-mt.so
    • libfei_boost_thread-mt.so
    • libfei_boost_filesystem-mt.so
    • libfei_proxy_boost_chrono-mt.so
    • libfei_proxy_boost_context-mt.so
    • libfei_proxy_boost_date_time-mt.so
    • libfei_proxy_boost_filesystem-mt.so
    • libfei_proxy_boost_iostreams-mt.so
    • libfei_proxy_boost_program_options-mt.so
    • libfei_proxy_boost_regex-mt.so
    • libfei_proxy_boost_system-mt.so
    • libfei_proxy_boost_thread-mt.so
    • libfei_proxy_tbb.so

AncreIvTune Libraries
Only required if you want access to IvTune from your application. IvTune requires the shared library for FxViz, MeshViz XLM, 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.

    • libfei_ivTune.so: version 10
    • libfei_ivTune_extender.so: version 10
    • libfei_ivTune_extender_base.so: version 10
    • libfei_ivTune_extender_inventor.so: version 10 (Only required if using Open Inventor extension for  IvTune)
    • libfei_ivTune_extender_volumeVizLDM.so: version 10  (Only required if using VolumeViz/LDM extension for IvTune)
    • themes : folder containing themes dark and light used by the common UI look and feel library.
    • lib/qtplugins: IvTune required plugins

AncreImport file format Libraries
Following files must be redistributed if your application imports one of the specific file formats listed below. Notice that CATIA, STEP and IGES readers require a separate license.

    • libfei_inventor_io_dxf.so: DXF import
    • libfei_inventor_io_stl.so: STL import
    • libfei_inventor_io_genericFile.so: Raster images & VolumeViz formats import

AncreDynamically loaded Libraries

The libraries prefixed with "IvDL" are dynamically loaded. Following files must be redistributed. 

    • libfei_bzlib.so: Compression library (1)
    • libfei_freetype.so: FreeType support (2)
    • libfei_libjpeg.so: JPEG support (import/export) (3)
    • libfei_inventor_license.so: FLEXnet floating license support
    • libfei_hpdf.so: PDF 3D support
    • libIvDLPng.so: PNG support (import/export) (4)
    • libfei_proj4.so: Cartographic projection support (5)
    • libfei_zlib.so: Compression library (6)
    • libfei_smlib.so: CSG library

These files are normally installed in the /lib directory. Unless otherwise indicated, all of these files must be supplied.  Your application can tell Open Inventor to load alternate libraries using the following environment variables:

    1. OIV_BZLIB_NAME
    2. OIV_FREETYPE_NAME
    3. OIV_LIBJPEG_NAME
    4. OIV_LIBPNG_NAME
    5. OIV_LIBPROJ4_NAME
    6. 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.

AncreQt Libraries
Some installations of Open Inventor include libraries for Qt (Nokia - qt.nokia.com). FEI is a licensed commercial Qt developer and this lib is included to allow certain demonstration or example programs to run and is used by the ivTune program. This does not give you any rights (that you do not already have) to redistribute Qt.

Following files must be redistributed if your application uses Qt features:

    • libQt5Core.so
    • libQt5Gui.so
    • libQt5OpenGL.so
    • libQt5Widgets.so
    • libQt5PrintSupport.so
    • libQt5Xml.so
    • libQt5X11Extras.so
    • platforms/libqlinuxfb.so
    • platforms/libqminimal.so
    • platforms/libqoffscreen.so
    • platforms/libqxcb.so
    • xcbglintegrations/libqxcb-glx_integration.so
    • themes : is a folder containing themes dark and light used by the common UI look and feel library.
    • lib/Qt
    • lib/QtGraphicalEffects
    • lib/QtQml
    • lib/QtQuick
    • lib/QtQuick.2
    • lib/sqldrivers
    • lib/iconengines
    • lib/iconengines

Boost libraries
Please find below the files you have to redistribute depending on the modules used by your application.

    • libfei_boost_date_time-mt.so:  Open Inventor / RemoteViz / ImageViz
    • libfei_boost_system-mt.so: Open Inventor / RemoteViz / ImageViz
    • libfei_boost_chrono-mt.so: RemoteViz / ImageViz
    • libfei_boost_thread-mt.so:  RemoteViz / ImageViz
    • libfei_boost_filesystem-mt.so: ImageViz
    • libfei_boost_iostreams-mt.so: ImageViz
    • libfei_boost_regex-mt.so: ImageViz

RemoteViz Required Librairies
Following files must be redistributed if your application uses the RemoteViz extension.

    • libfei_remoteViz_services.so
    • libfei_remoteViz_client.so
    • libfei_FFmpeg_avcodec.so
    • libfei_FFmpeg_avfilter.so
    • libfei_FFmpeg_avformat.so
    • libfei_FFmpeg_avutil.so
    • libfei_remoteViz_ffmpeg_codec.so
    • libfei_remoteViz_jpeg_codec.so
    • libfei_remoteViz_nvidia_video_codec.so
    • libfei_remoteViz_png_codec.so
    • libfei_swresample.so
    • libfei_swscale.so
    • libfei_boost_chrono-mt.so
    • libfei_boost_thread-mt.so
    • libfei_boost_random-mt.so
    • libfei_boost_signals-mt.so

AncreNVidia Complex Required Library
Following file must be redistributed, if your application uses ScaleViz in a multipipe quadroplex context.

    • libcomplex.so

AncreTBB Required Libraries
Following files must be redistributed if your application uses MeshViz XLM:

    • libfei_tbb.so: tbb kernel library
    • libfei.tbbmalloc.so: tbb malloc library
    • libfei.tbb.malloc_proxy.so

Note: the TBB libraries and entry points have been renamed to avoid conflicts with other versions used in customer applications.

AncrePDF 3D Export Required Libraries
Following files must be redistributed if your application uses PDF 3D export:

    • libhpdf.so
    • libfei_ifx_core.so

AncreResource 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:

/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 Independant

AncreWARNING: IvTune Access to Scene Graph
By default, a user can launch IvTune from any Open Inventor viewer with a shortcut keyboards buttons (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 disabling this feature when redistributing 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);

AncreOpen 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.

AncreDragger 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 libraires. You may also choose to compile custom dragger geometry into your application.

AncreMaterial 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_CURRENT_USER
  SOFTWARE
    VSG
      Shared Resources
        MATERIALS_PATH

On UNIX, Open Inventor searches for the materials in the following locations:

    • /usr/share/data/material
    • the path specified by environment variable OIV_MATERIALS_PATH

AncreHelp File
The standard Open Inventor viewers have a “?” button on the right side used for accessing a help file. 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.