Open Inventor Release 2023.2.3
 
Loading...
Searching...
No Matches
IvTuneExtender

IvTuneExtender is an API that allows you to create plug-ins that extend IvTune's capabilities. More...

Modules

 IvtDefaults
 The pre-built IvTune plug-in that provides basic services.
 

Classes

class  IvtCommand
  VSG extension Abstract class for IvTune commands More...
 
class  IvtEditor
  VSG extension Base class for implementing IvTune editors More...
 
class  IvtExtension
  VSG extension Base class to implement IvTune extensions. More...
 
class  IvtPlugin
  VSG extension Base class for implementing IvTune plug-ins. More...
 
class  IvtPluginsManager
  VSG extension Class that manages the loading of IvTune plug-ins. More...
 
class  IvtProfile
  VSG extension Configuration profile. More...
 
class  IvtProfileSetting
  VSG extension IvTune extension preferences More...
 
class  IvtServices
  VSG extension Class to access services provided by IvTune More...
 
class  IvtShell
  VSG extension Class to register Extension GUI in IvTune More...
 

Detailed Description

IvTuneExtender is an API that allows you to create plug-ins that extend IvTune's capabilities.

Some example IvTune plug-ins, that demonstrate what is possible to develop with the API, are provided in the source/IvTune subdirectory of the Open Inventor SDK (after installing the Demos package).

IvtDefaults is a built in plug-in that provides the standard IvTune extensions (node overview, field editor, etc).

All classes provided to develop IvTune plug-ins are listed above.

IvTune Extender keywords

Configuration file

A configuration file defines which plug-ins IvTune will load, one or more profiles with their associated extensions, and specifies the profile that will be activated first when IvTune starts.

When IvTune starts, the search procedure for the configuration file is (in order):

The file "$OIVHOME/data/IvTune/IvtConfiguration.xml" is provided as an example.

An xml schema "OIVHOME/data/IvTune/IvtConfiguration.xsd" is also provided and can be used to validate the correctness of an IvTune configuration file.

The configuration file is structured as follows:

The following is an example configuration file:

<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://www.openinventor.com" xsi:schemaLocation="https://www.openinventor.com IvtConfiguration.xsd">
<!-- List of the plug-ins to load. -->
<plugins>
<!-- A path can be specified by adding the attribute path, i.e. path="the_path_to_the_plug-in". -->
<loadPlugin file="IvtDefaults"/>
<loadPlugin file="IvtTools"/>
<loadPlugin file="IvtToolsLDM"/>
<!-- uncomment to load IvtTutorial plugin
<loadPlugin file="IvtTutorial"/>
-->
</plugins>
<!-- List of the different profiles with the specification of a default one (i.e. the profile activated when ivtune begins). -->
<profiles default="Defaults">
<!-- Details of the profile -->
<profile name="Defaults">
<activeExtension plugin="IvtDefaults" extension="Field Editor">
<controlledExtension plugin="IvtDefaults" extension="MFColor"/>
<controlledExtension plugin="IvtDefaults" extension="MField"/>
<controlledExtension plugin="IvtDefaults" extension="MFFloat"/>
<controlledExtension plugin="IvtDefaults" extension="MFInt32"/>
<controlledExtension plugin="IvtDefaults" extension="MFMatrix"/>
<controlledExtension plugin="IvtDefaults" extension="MFPlane"/>
<controlledExtension plugin="IvtDefaults" extension="MFRotation"/>
<controlledExtension plugin="IvtDefaults" extension="MFShort"/>
<controlledExtension plugin="IvtDefaults" extension="MFString"/>
<controlledExtension plugin="IvtDefaults" extension="MFUInt32"/>
<controlledExtension plugin="IvtDefaults" extension="MFUShort"/>
<controlledExtension plugin="IvtDefaults" extension="MFVec2f"/>
<controlledExtension plugin="IvtDefaults" extension="MFVec2i32"/>
<controlledExtension plugin="IvtDefaults" extension="MFVec2s"/>
<controlledExtension plugin="IvtDefaults" extension="MFVec3f"/>
<controlledExtension plugin="IvtDefaults" extension="MFVec4f"/>
<controlledExtension plugin="IvtDefaults" extension="SFBitMask"/>
<controlledExtension plugin="IvtDefaults" extension="SFBool"/>
<controlledExtension plugin="IvtDefaults" extension="SFBox2f"/>
<controlledExtension plugin="IvtDefaults" extension="SFBox3s"/>
<controlledExtension plugin="IvtDefaults" extension="SFColor"/>
<controlledExtension plugin="IvtDefaults" extension="SFEnum"/>
<controlledExtension plugin="IvtDefaults" extension="SFFloat"/>
<controlledExtension plugin="IvtDefaults" extension="SFImage"/>
<controlledExtension plugin="IvtDefaults" extension="SFInt32"/>
<controlledExtension plugin="IvtDefaults" extension="SField"/>
<controlledExtension plugin="IvtDefaults" extension="SFMatrix"/>
<controlledExtension plugin="IvtDefaults" extension="SFName"/>
<controlledExtension plugin="IvtDefaults" extension="SFPlane"/>
<controlledExtension plugin="IvtDefaults" extension="SFRotation"/>
<controlledExtension plugin="IvtDefaults" extension="SFShort"/>
<controlledExtension plugin="IvtDefaults" extension="SFString"/>
<controlledExtension plugin="IvtDefaults" extension="SFUInt32"/>
<controlledExtension plugin="IvtDefaults" extension="SFUShort"/>
<controlledExtension plugin="IvtDefaults" extension="SFVec2f"/>
<controlledExtension plugin="IvtDefaults" extension="SFVec2i32"/>
<controlledExtension plugin="IvtDefaults" extension="SFVec2s"/>
<controlledExtension plugin="IvtDefaults" extension="SFVec3f"/>
<controlledExtension plugin="IvtDefaults" extension="SFVec4f"/>
<controlledExtension plugin="IvtToolsLDM" extension="SFLDMResourceParameters"/>
</activeExtension>
<activeExtension plugin="IvtDefaults" extension="Profile Selector"/>
<activeExtension plugin="IvtDefaults" extension="Console"/>
</profile>
<profile name="Extended">
<activeExtension plugin="IvtDefaults" extension="Node Editor">
<controlledExtension plugin="IvtToolsLDM" extension="Alpha Curve Editor"/>
<controlledExtension plugin="IvtTools" extension="Directional Light Editor"/>
<controlledExtension plugin="IvtTools" extension="Shader Editor"/>
</activeExtension>
<activeExtension plugin="IvtTools" extension="Processing Menu"/>
<activeExtension plugin="IvtTools" extension="Traversal Menu"/>
<activeExtension plugin="IvtTools" extension="Viewing Toolbar"/>
<includeProfile name="Defaults"/>
</profile>
<!-- uncomment to activate a profile with extensions provide by IvtTutorial
<profile name="Tutorials">
<activeExtension plugin="IvtTutorial" extension="My First Extension">
<preference value="Hello World!" parameter="Message"/>
</activeExtension>
<activeExtension plugin="IvtTutorial" extension="My Second Extension"/>
<includeProfile name="Defaults"/>
</profile>
-->
</profiles>
</configuration>