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.
Open 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.
Dynamically 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):
- OIV_BZLIB_NAME
- OIV_ZLIB_NAME
- OIV_FREETYPE_NAME
- OIV_LIBJPEG_NAME
- OIV_LIBPNG_NAME
- 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%.
Import/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
Cuda 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
About 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.
VolumeViz Required DLLs
Following files must be redistributed if your application uses the VolumeViz extension.
- fei_volumeViz.dll
- fei_ldm.dll
MeshViz 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
ImageViz 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
HardCopy Required DLLs
Following files must be redistributed if your application uses the HardCopy extension:
- fei_hardCopy.dll
- fei_hpdf.dll
- fei_ifx_core.dll
MeshViz Required DLLs
Following files must be redistributed if your application uses the (classic) MeshViz extension.
- fei_meshViz.dll
TBB required DLLs
- fei.tbb.dll
- fei_tbbmalloc.dll
- fei_tbbmalloc_proxy.dll
Other Required DLLs
- The following Microsoft files are required by Open Inventor 10 depending on which version of Visual C++ you are using:
- Visual Studio 2015: We 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
- Visual Studio 2015: We recommend to install Microsoft Visual C++ 2015 Update 2 Redistributable. (vcredist_xXX.exe available in the directory arch-Windows-xXX-msvc14-Release\bin)
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.
Open 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)
ImageViz 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
IvTune 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
Import 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
Dynamically 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:
-
- OIV_BZLIB_NAME
- OIV_FREETYPE_NAME
- OIV_LIBJPEG_NAME
- OIV_LIBPNG_NAME
- OIV_LIBPROJ4_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.
Qt 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
NVidia Complex Required Library
Following file must be redistributed, if your application uses ScaleViz in a multipipe quadroplex context.
-
- libcomplex.so
TBB 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.
PDF 3D Export Required Libraries
Following files must be redistributed if your application uses PDF 3D export:
-
- libhpdf.so
- libfei_ifx_core.so
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:
/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
WARNING: 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);
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 libraires. You may also 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_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
Help 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.