3.4. Connecting, Disconnecting, Moving, and Replacing Connections

MeVisLab offers multiple ways of connecting or disconnecting modules in a network. Modules can be connected to each other by connecting their parameter fields or their data fields. Data fields are also called input/output connectors and are located at the bottom/top of the modules in a network. Parameter fields are available on the panel or GUI of a module.

In the following, different methods of handling data connections are shown. Parameter connection handling is not discussed in detail here; for more information about parameter connections, see Parameter Connection for Synchronization.

3.4.1. Connecting Modules

Data connections can be established by dragging/drawing, by proximity, i.e., moving modules close to each other, and by inserting a module into an already existing connection.

3.4.1.1. Connecting by Dragging

Move the mouse to one of the connectors, click and hold the left mouse button. Drag the mouse with the left mouse button still pressed and move the mouse to the destination connector. While dragging, an intermediate white connection line is drawn. If the connection is possible, the intermediate connection line turns green. On releasing the mouse button, the connection is established.

Table 3.6. Connecting Modules by Dragging

 

3.4.1.1.1. Connecting to Inventor Groups by Dragging

Connecting to an Inventor group module (e.g., SoSeparator, SoRenderArea, SoGroup) works the same as described in Section 3.4.1.1, “Connecting by Dragging”.

However, Inventor group modules have an unlimited and dynamic number of input connectors and while not dragging to establish a connection, only the connected connectors are visible. On starting to establish a new connection, all Inventor group modules in a network show the otherwise hidden additional input connectors. Those additional input connectors are smaller than the regular connectors and placed to the left and to the right of the regular connectors. On connecting to an additional connector, the connection is established and the additional connector becomes a regular connector, so that for the next connection, even more additional connectors are available.

Table 3.7. Dragging a New Connection Generates New Input Connectors to the Sides of Regular Connectors


Table 3.8. Even More New Connectors are Available

 

3.4.1.1.2. Connecting from Inventor Groups by Dragging

Connecting from an Inventor group module is basically the same as connecting to such a module.

However, new dynamic input connectors appear only if the mouse cursor is placed to the left or to the right of existing regular input connectors. Once an additional connector has appeared under the mouse cursor, it can be used for establishing a connection by clicking on it, holding the left mouse button, and dragging to an output connector.

Table 3.9. New Input Connectors are Generated by Positioning the Mouse

  

3.4.1.2. Connecting by Proximity

Modules can be connected by moving their input and output connectors close to each other.

Grab a module by clicking and holding the left mouse button. Move the module close to the module with which the connection should be established. If the first free fitting connectors are close enough to each other, a stippled preview of the module to be connected and its connection is rendered. Release the mouse button to establish the connection. The dropped module is automatically positioned at the preview position.

Table 3.10. Connecting by Moving the Source Module into Proximity


The same procedure works for connecting a destination module.

[Note]Note

The stippled preview connection is always rendered in the middle of the preview module's silhouette and not at the actual position of the connector on the module.

Table 3.11. Connecting by Moving the Destination Module into Proximity


3.4.1.2.1. Connecting to Inventor Groups by Proximity

When connecting to an Inventor group by proximity and the group already has at least one input connection, all subsequent connections are generated at the first or the last dynamic connector. A new connection cannot be established by proximity between already existing connections. Use the method described in Section 3.4.1.1.1, “Connecting to Inventor Groups by Dragging” or Section 3.4.1.1.2, “Connecting from Inventor Groups by Dragging” for connecting modules in between existing connections.

Table 3.12. Connecting an Inventor Group by Proximity


Table 3.13. Connecting to an Inventor Group by Proximity

 

Table 3.14. Appending vs. Prepending to an Inventor Group by Proximity


3.4.1.3. Connecting by Inserting into an Existing Connection

To insert a module into an existing connection, start by grabbing the module. This is done by left-clicking it and holding the mouse button while moving the mouse. Move the module over an existing connection. If the module can inserted into the connection, the connection is highlighted and the mouse cursor changes to a plus sign. On releasing the mouse button, the module is inserted into the connection.

Table 3.15. Connecting a Module by Inserting


3.4.1.4. Inserting a Module with More than One Input Connector

If a module has more than one input connector and it is dropped onto an existing connection, the left-most free input connector is used for establishing the connection.

[Note]Note

In the following two examples, all described methods of establishing connections are mixed.

Table 3.16. Connecting a Module with Two Inputs by Inserting


Table 3.17. The Second Input is Connected by Dragging

 

3.4.1.5. Variation of Inserting a Module with More than One Input Connector

If the left-most input connector is already connected, the first left-most free input connector might just be the second input connector.

Table 3.18. Variation: First Input is Connected by Proximity


Table 3.19. Variation: Second Input is Connected by Inserting into an Existing Connection

 

3.4.2. Disconnecting Modules

There are also multiple ways of disconnecting modules.

An input connection or a number of output connections can be removed by dragging a new connection to the network's background. Connections are selectable and any selected network item can be removed by pressing DEL. Connections have a context menu which offers to disconnect that connection, or in case of a bundled module group connection, all of the connections.

3.4.2.1. Disconnecting by Dragging to the Background

A single input connection can be removed by starting to drag a new connection from an already connected input connector and then releasing the drag over an empty region of the network.

If the drag is started on an output connector with multiple connections, and is released over the network's background, all output connections are removed.

Table 3.20. Disconnecting by Dragging to Background: Input

 

Table 3.21. Disconnecting by Dragging to Background: Output

 

3.4.2.2. Disconnecting by Selection

Connections can be selected by clicking them with the mouse.

A selected connection has its own highlighting and is removable by pressing DEL.

Table 3.22. Disconnecting by Selection and Pressing DEL

 

3.4.2.3. Disconnecting by Context Menu

Connections not only have a tooltip showing the source and destination connector, but also a context menu where single connections or all connections, if they are bundled, can be disconnected.

The next example features a module group (see Section 3.11, “Using Groups”) to show that disconnecting by context menu also works for connection bundles.

Table 3.23. Disconnecting by Context Menu


3.4.3. Moving Connections

Connections can be moved from input connector to input connector, or from output connector to output connector.

The connector can be on different modules or on the same module.

To move a connection, drag it and move it to the destination connector. If the connection is possible, the intermediate connection is rendered in green. On dropping the connection, the connection to the new connector is established.

Table 3.24. Move Input Connection


If the moving of connections takes place at an output connector, multiple connections can be moved in a single interaction.

Table 3.25. Move Multiple Output Connections


3.4.3.1. Moving Connections Within Inventor Groups

A connection can also be moved within an Inventor group. On starting the drag, additional connectors are shown to which the connection can be moved.

Table 3.26. Move Connection Within an Inventor Group


3.4.4. Replacing Connections

An input connector can only be connected with a single output connector.

When connecting some other output connector to an already connected input connector, the previous connection of that input connector being is replaced.

Similarly, if a new connection is dragged from an already connected input connector, the previous connection is replaced by the new connection.

Table 3.27. Replace Connection