Skip to main content

Interfaces

Interfaces define the inputs and outputs of the CGI Application. Depending on the module type either one or both types of interfaces are available. 

By selecting the corresponding tab, interfaces can be added, removed or rearranged using the buttons at the top of the interface list.

drawing-7-1724649376.png

General Properties

The following general properties are available for all interfaces.

drawing-7-1724649397.png
Property Name Description
Name Name of the interface. Only characters from ‘a’-‘z’, ‘A’-Z’, ‘0’-‘9’, ‘ ‘ and ‘_’ are allowed, though the name must start with a character.
UId The UId is used to identify the interface. It can be seen as the tooltip of the ‘UId’ button. When the button is clicked a new UId will be generated.
Type Defines the type of interface. The available options depend on the specific target tool.
Data-Type

The used basic data type of the interface to transfer data. This value is automatically calculated depending on the used interface type and set properties.

For arrays the length is indicated in brackets.


Types

The following general interface types are available.

Input:

Name
Scene
Scene-Table
Data-Input
Function Call (Action)
Message (Action)

Output:

Name
Data-Input
Generic Event
Function Call (Event)
Message (Event)

Note that depending on the used module type, some interface types might not be available or special interface types might be supported. Please refer to the target tool specific section for more details.

Scene Interface

The Scene interface allows to control the state of a scene or group of scenes. Depending on the set value the scene/scenes will change to a different state. By default, the values have the following meaning:

Property Name Description
0 Destroyed (No data loaded)
1 Loaded (Scene data is loaded to system memory)
2 Uploaded (Scene data is uploaded to VRAM)
3

Active (Scene and related behaviors are updated)

4 Rendering (Scene is drawing)

Icon:

drawing-7-1724649437.png

Properties:

drawing-7-1724649470.png
Property Name Description
Single Instance When selected only a single instance of this action will be queue. If the action is triggered again before the previous instance is executed it will overwrite the previous action in the queue instead.
Value Check If enabled, the sent value will be compared to the previous value and processing will be skipped if it has not changed. This can improve performance if the sent value is often the same/different.
Scenes Scene controlled by the interface. A scene is defined by the following expression:

[FOLDERNAME/…./]SCENENAME or [FOLDERNAME#….#]SCENENAME

It is also possible to only specify a folder name directly. In this case all scenes in this folder or a child folder will be controlled by this interface.

Multiple scenes can be specified by adding or removing additional lines with the ‘+’ and ‘-‘ buttons.
Scene Table Interface

The Scene-Table signal allows to specify a collection of scenes and assigns them a certain Id. The interface value represents this Id and will ‘activate’ all scenes that match this Id while ‘deactivating’ all scenes which were previously activated using this interface. If a scene was part of the previous set of scenes and is still part of the new set no action will be performed. 

Additionally, “Hints” can be specified which can affect how the change between different sets happens. These are primarily used to control the transition animation.

Note that the actual behavior is controlled by the application specific implementation.

Icon:

drawing-7-1724649497.png

Properties:

drawing-7-1724649516.png
Property Name Description
Single Instance When selected only a single instance of this action will be queue. If the action is triggered again before the previous instance is executed it will overwrite the previous action in the queue instead.
Value Check If enabled, the sent value will be compared to the previous value and processing will be skipped if it has not changed. This can improve performance if the sent value is often the same/different.
drawing-7-1724649568.png
Property Name Description
(Scenes) Entries Collection of Scenes represented by an Id. Multiple collections can be specified by adding or removing additional lines with the ‘+’ and ‘-‘ buttons.
(Scenes) Entries ID The Id representing this set of Scenes.
(Scenes) Entries Scenes Scenes which belong to this entry. A scene is defined by the following expression:

[FOLDERNAME/…./]SCENENAME or [FOLDERNAME#….#]SCENENAME

It is also possible to only specify a folder name directly. In this case all scenes in this folder or a child folder will be controlled by this interface.

Multiple scenes can be specified by adding or removing additional lines with the ‘+’ and ‘-‘ buttons.
(Scenes) Entries Activation State of the scene to be applied when scene is activated.
(Scenes) Entries Deactivation State of the scene to be applied when scene is deactivated.
drawing-7-1724649594.png
Property Name Description

(Hints) Entries

Collection of Hints represented by an Id. Multiple collections can be specified by adding or removing additional lines with the ‘+’ and ‘-‘ buttons.

(Hints) Entries ID

The Id representing this Hint.

(Hints) Entries Hint

Hint which belongs to this entry.

Data-Input Interface

The Data-Input interface is used to send data values from external to the CGI Studio application. Only data-items provided by Courier Data-Binding can be set as destination. For more information about Data-Binding please refer to the Courier documentation.

Icon:

drawing-7-1724649663.png

Properties:

drawing-7-1724649684.png
Property Name Description

Item

Data-Item used as a destination for the data value transferred via this signal. Clicking on the ‘…’ button next to then field opens a dialog window which lists all possible data items defined for this application.

Value Check

If enabled, the sent value will be compared to the previous value and processing will be skipped if it has not changed. This can improve performance if the sent value is often the same/different.

Function Call (Action) Interface 

The Function-Call (Action) interface allows to trigger a user defined function. To learn how to define functions to be used in the Connector refer to the “Native Functions” chapter.

Icon:

drawing-7-1724648244.png

Properties:

drawing-7-1724648290.png
Property Name Description
Single Instance When selected only a single instance of this action will be queue. If the action is triggered again before the previous instance is executed it will overwrite the previous action in the queue instead.
Value Check If enabled, the sent value will be compared to the previous value and processing will be skipped if it has not changed. This can improve performance if the sent value is often the same/different.
Name Name of the function to execute. Clicking on the ‘…’ button next to then field opens a dialog window which lists all possible functions defined for this application.
Input Argument When enabled, a single argument of the function can be defined as Input-Argument. The value of the argument will then depend directly on the data sent when triggering the interface.
Arguments List of arguments for this function (excluding the Input-Argument if specified). Here the values for the arguments that will be used to execute the function are set.
Message (Action) Interface

The Message (Action) interface allows to trigger the sending of a Courier message. For more information about Messaging in Courier please refer to the Courier documentation.

Icon:

drawing-7-1724648115.png

 Properties:

drawing-7-1724648209.png

Property Name Description
Single Instance When selected only a single instance of this action will be queue. If the action is triggered again before the previous instance is executed it will overwrite the previous action in the queue instead.
Value Check If enabled, the sent value will be compared to the previous value and processing will be skipped if it has not changed. This can improve performance if the sent value is often the same/different.
Name Name of the message to send. Clicking on the ‘…’ button next to then field opens a dialog window which lists all possible messages defined for this application.
Input Argument When enabled, a single argument of the message can be defined as Input-Argument. The value of the argument will then depend directly on the data sent when triggering the interface.
Arguments List of arguments for this message (excluding the Input-Argument if specified). Here the values for the arguments that will be used to send the message are set.
Data-Output Interface

The Data-Output interface is used to receive data values from CGI Studio application. Only data-items provided by Courier Data-Binding can be set as source. For more information about Data-Binding please refer to the Courier documentation.

Icon:

drawing-7-1724648527.png

 Properties:

drawing-7-1724648763.png
Property Name Description
Item Data-Item used as a destination for the data value transferred via this signal. Clicking on the ‘…’ button next to then field opens a dialog window which lists all possible data items defined for this application.
Value Check If enabled, the sent value will be compared to the previous value and processing will be skipped if it has not changed. This can improve performance if the sent value is often the same/different.

Generic Event Interface

The Generic Event interface is used to signal an event. Instead of being automatically triggered, this interface must be manually triggered from the CGI Application side. For more information on how to do this refer to the Template Application chapter.

Icon:

drawing-7-1724648700.png

 Properties:

drawing-7-1724648739.png
Property Name Description
Single Instance When selected only a single instance of this event will be queue. If the event is triggered again before the previous instance is executed it will overwrite the previous event in the queue instead.
Value Check If enabled, the sent value will be compared to the previous value and processing will be skipped if it has not changed. This can improve performance if the sent value is often the same/different.
Output Argument If enabled the event will be accompanied by an output value.
Type Data type of the value.
Function Call Interface (Event)

The Function-Call (Event) interface will execute a native function to check if an event has been triggered. Depending on the result of the function call (return value must be true) and specified conditions, an event will be queued.

To learn how to define functions to be used in the Connector refer to the “Native Functions” chapter.

Icon:

drawing-7-1724648910.png

Properties:

drawing-7-1724648968.png
Property Name Description
Single Instance When selected only a single instance of this event will be queue. If the event is triggered again before the previous instance is executed it will overwrite the previous event in the queue instead.
Value Check If enabled, the sent value will be compared to the previous value and processing will be skipped if it has not changed. This can improve performance if the sent value is often the same/different.
Name Name of the message which triggers the event. Clicking on the ‘…’ button next to then field opens a dialog window which lists all possible messages defined for this application.
Output Argument If enabled, the event will be accompanied by an output value. This value can be selected from the available members of the related message.
Conditions Conditions allow to specify additional conditions which the message must fulfill before the event is triggered. If multiple conditions are set, all conditions must be fulfilled. Conditions can be added and removed with the ‘+’ and ‘-‘ buttons.
Argument Name of the member of the message this condition is applied to
Operator Operator used to check the condition
Value Value of the condition.

Message Interface (Event)

The Message (Event) interface allows to react to incoming Courier messages. If a matching message is received and all conditions are fulfilled an event will be queued.

For more information about Messaging in Courier please refer to the Courier documentation.

Icon:

drawing-7-1724649194.png

 Properties:

drawing-7-1724649226.png
Property Name Description
Single Instance When selected only a single instance of this event will be queue. If the event is triggered again before the previous instance is executed it will overwrite the previous event in the queue instead.
Value Check If enabled, the sent value will be compared to the previous value and processing will be skipped if it has not changed. This can improve performance if the sent value is often the same/different.
Name Name of the message which triggers the event. Clicking on the ‘…’ button next to then field opens a dialog window which lists all possible messages defined for this application.
Output Argument If enabled, the event will be accompanied by an output value. This value can be selected from the available members of the related message.
Conditions Conditions allow to specify additional conditions which the message must fulfill before the event is triggered. If multiple conditions are set, all conditions must be fulfilled. Conditions can be added and removed with the ‘+’ and ‘-‘ buttons.
Argument Name of the member of the message this condition is applied to
Operator Operator used to check the condition
Value Value of the condition.


Edit Menu

It is possible to quickly edit external resources with via the edit menu or the toolbar.

drawing-7-1728276224.png
drawing-7-1728276288.png
Property Name Description
Edit Project Opens the Project configuration window.
Edit Scene Composer Solution Edits the configured Scene Composer solution.
Edit Courier Definition Displays all Courier definition files based on the configured XCDL file and allows to quickly edit them using the Courier Editor.
Edit Complex Types Edits the configured Complex-Types definition file.
Edit Native-Functions Edits the configured Native-Functions definition file.

If a resource or related script file is not available, the function is disabled.


Build Menu

The build menu allows to quickly trigger a build from the specified Build-Projects. It lists all available builds and depending on the tool configuration special tool specific builds. Same can be done via the toolbar.

drawing-7-1728276596.png
drawing-7-1728276642.png

Project Settings

Several project related configurations can be performed in the project settings window which is accessible var the “Edit” menu or the shortcut “Ctrl + 0”.

drawing-7-1728276701.png

Via the List on the left the displayed options can be filtered to make it faster to find a related setting.
All project settings (with a few additions) are available in any build that is executed. For more details about this refer to “Builds” chapter.

General
drawing-7-1728276791.png
Property Name Description
Name
Name of the project.
Description Description of the project.
Icon Custom icon used for the project.
Interface
drawing-7-1728277079.png
Property Name Description
Interface Definition
File containing the Interface definition. The path can be either absolute or relative to CGI Connector/Project/CGI Studio paths.
Complex-Type Definition File containing the Complex-Type definition. The path can be either absolute or relative to CGI Connector/Project/CGI Studio paths.
Native-Function Definition File containing the Native-Function definition. The path can be either absolute or relative to CGI Connector/Project/CGI Studio paths.
Tools
drawing-7-1728277203.png
Property Name Description
Generic
Enables generic support. This will provide a plain C/C++ interface.
MATLAB Enables support for MATLAB. This will provide additional options/setting related to Mathworks MATLAB support
CGI Studio
drawing-7-1728277503.png
Property Name Description
Root Path
Path to CGI Studio package. The path can be either absolute or relative to CGI Connector/Project paths.
Device-Platform
drawing-7-1728278193.png
Property Name Description
Platform
Name of the CGI Studio Platform (as found in CMake)
MATLAB Name of the CGI Studio Platform configuration (as found in CMake)
Scene Composer
drawing-7-1728278275.png
Property Name Description
Executable
Executable used to edit the Scene Composer solution file.
Solution Scene Composer solution file. The path can be either absolute or relative to CGI Connector/Project/CGI Studio paths.
Courier
drawing-7-1728278352.png
Property Name Description
XCDL Definition File
File containing the Courier definition. The path can be either absolute or relative to CGI Connector/Project/CGI Studio paths.
XCDL Include Paths Additional include paths required to by the XCDL definition. Multiple paths must be separated by a ‘;’
Code Generation
drawing-7-1728278448.png
Property Name Description
Compiler
Compiler used to build code.
Architecture Architecture used to build the code.
Build Project File File containing default builds. The path can be either absolute or relative to CGI Connector/Project/CGI Studio paths.
MATLAB
drawing-7-1728278539.png
Property Name Description
Startup File
MATLAB startup file used when editing the MATLAB model. The path can be either absolute or relative to CGI Connector/Project/CGI Studio paths.
Enable Legacy Options Enables certain legacy options to increase compatibility with MLC.
Build Project File containing MATLAB related builds. The path can be either absolute or relative to CGI Connector/Project/CGI Studio paths.
Connector
drawing-7-1728278639.png
Property Name Description
Edit Complex-Types Script File
Script file executed when editing Complex-Types. The path can be either absolute or relative to CGI Connector/Project/CGI Studio paths.
Edit Native-Functions Script File Script file executed when editing Native-Functions. The path can be either absolute or relative to CGI Connector/Project/CGI Studio paths.
Edit SC Solution Script File Script file executed when editing SC Solution. The path can be either absolute or relative to CGI Connector/Project/CGI Studio paths.
Edit XCDL Script File Script file executed when editing Courier definition. The path can be either absolute or relative to CGI Connector/Project/CGI Studio paths.
Edit Build-Project Script File Script file executed when editing a Build-Project. The path can be either absolute or relative to CGI Connector/Project/CGI Studio paths.
Edit MATLAB Script File Script file executed when editing MATLAB model. The path can be either absolute or relative to CGI Connector/Project/CGI Studio paths.
Run Application Script File Script file executed when running the application. The path can be either absolute or relative to CGI Connector/Project/CGI Studio paths.
Show Console Window When enabled, shows a command line window executing scripts. This can be used to debug scripts.
Show Code Script File Script file executed when editing code (via the log window). The path can be either absolute or relative to CGI Connector/Project/CGI Studio paths.