Editing Compounds

 
 
 

To open a compound for editing

Do one of the following:

  • Move the mouse over a compound node, and click the e icon that pops up.

  • Right-click on a compound node (not over a port) and choose Edit Compound.

  • Select a compound and press I.

Repeat to open a compound contained inside another. Compounds can be nested arbitrarily deep.

A

Compound name. To change the name, double-click and type a new one.

B

Category is used to organize exported compounds on the Tool tab of the preset manager. To change the category, double-click and type a different name. To create a new category, simply enter a new category name. The new category is automatically added to the preset manager and Nodes menu when the compound is exported. If a compound has no category, it does not appear on the Tool tab of the preset manager.

C

Tasks are used to further organize exported compounds by workflow on the Task tab of the preset manager. Double-click to enter or change a comma-separated list of tasks. Use a slash to separate tasks and subtasks, for example, "task/subtask,task1/subtask1". To create a new task or subtask, simply enter new names. New tasks and subtasks are automatically added to the preset manager when the compound is exported. If a compound has no task, it does not appear on the Task tab of the preset manager.

D

Modify the tree by adding, editing, and connecting nodes in the usual way.

E

Expand or collapse the list of exposed input parameters (shown expanded). When the list is collapsed, you can display the name of a port by hovering the mouse pointer over its connection.

F

Expose a new input port or parameter. Drag this icon onto a node's input. Unlike ports, parameters don't display a circle next to their labels but you can still drag this icon onto them to expose parameters such as references.

G

Exposed input ports and parameters. Double-click on a port's name to change it while the list is expanded. Drag the circle icon onto another node to share the input. Right-click on a specific port to change the order, remove it, or set properties.

H

Expand or collapse the list of exposed output parameters (shown collapsed). Here again, when the list is collapsed, you can display the name of a port by hovering the mouse pointer over its connection.

I

Expose a new output port. Drag an output port from any node onto the black circle. You can have as many output ports as you want.

J

Exposed output ports. Double-click on a port's name to change it while the list is expanded. Right-click on a specific port to change the order, remove it, or set properties. Some properties do not apply to output ports.

K

Exit and return to the parent tree. Alternatively, press U.

Notes on Editing Compounds

Compound Names

Compounds are identified by name. If more than one compound has been exported with the same name, only the compound with the highest version number is available in the preset manager and Nodes menu — see Versioning Compounds for more information. If compounds have the same name and version number, then compounds stored in the user location have the highest priority, followed next by compounds in a workgroup location, and finally by compounds in the factory location.

Categories and Tasks

If a compound is exported without a category or task, it is not available in the preset manager or nodes menu. This allows you to create utility nodes that perform specific functions inside other compounds but that are not meant to be used generally. You can add such nodes to an ICE tree using Compounds Import Compound or by dragging the compound file from a Softimage file browser or folder window.

Ports and Parameters

In compounds, you can expose both ports and parameters:

  • Ports are the connection points through which data and execution flows. Ports are indicated by a small circle. Exposing a port makes it available for connection from outside the compound.

  • Parameters are options that control how a node works, for example, Type and Epsilon in the Compare node. Parameters have no circle. Exposing a parameter makes it available in the compound's property editor but does not allow connections.

Sharing Input Connections

You can connect an exposed input port to multiple nodes inside a compound.

  1. Drag the Expose Input icon onto an input port of a node.

    A new exposed port is created.

  2. Drag the exposed port's icon onto another node's input port.

    A Pass Through node is added and automatically connected.

  3. Drag the exposed port's icon or the Pass Through node's Out port onto other input ports to make additional connections.

If after rearranging connections, the exposed port is used by only one input and you no longer need a Pass Through node, right-click on the port in the area at left and choose Remove Pass Through.

Removing Exposed Ports

You cannot remove an exposed port by dragging the dotted line away from an input connection. The dotted line does not represent a true connection — there may or may not be a node connected outside the compound.

To remove an exposed port, right-click on it in the side area and choose Remove Exposed Port/Parameter.

Extra Ports and Parameters

When editing compounds, you may notice that some nodes have extra ports and parameters. For example, Generate Sample Set has pointratetype, enablemaxnumber, and maxnumber. These options are available only with certain settings: ratetype works only when emissiontype is Surface or Volume, pointratetype works only when emissiontype is Point, and enablemaxnumber and maxnumber work only when ratetype is Density per Second.

Exposing References and Other Parameters

To expose a reference or other parameter on the outside of a compound, simply drag the Expose input icon onto it in the same way as for a port. Even though parameters do not display a circle next to their labels like ports do, they can still be exposed in the same way.