5.1 Anatomy of a Module

All modules are similarly represented by a graphic within the NetEdit frame (see Figure 5.1). The graphical ``front end'' is the same for all modules and consists of the following elements:

Figure 5.1: Module Graphic (Show Field Module)
 
SCIRun Module Graphic

Module Name
The module's name.

Input Ports
Zero or more input ports located on the top of the module. Each port corresponds to a data type and each data type has a unique color. Table 5.1 maps port colors to data types. Input ports connect to other modules' output ports. Connections can only be made between ports of the same type. Some modules have a dynamic input port. When a connection is made to a dynamic input port a new instance of the port will be created.


Table 5.1: Data Types and their Port Colors
Data Type Port Color
Field Yellow
Field Set Green
Matrices Blue
Geometric Objects Pink
Color Maps Purple
Camera Path Brown


Output ports
Zero or more output ports located on the bottom of the module. Output ports connect to other modules' input ports. Every module has at least one input or one output port.

UI button
Pressing the UI button displays the module's control dialog. Some modules have no dialog, some have simple dialogs, and some have complex dialogs that allow elaborate control over the module. Figure 5.2 shows the control dialog for Show Field module. Most module control dialogs (except for read/writer modules) contain the following buttons:

Close
Closes the control dialog.

Execute
Executes the module. This may cause other modules in the network to execute or ``fire'' (see Executing a Network).

Find
Highlights the module in the NetEdit frame that owns the control dialog being edited.

?
Displays a module's help information.

Reader/writer module control dialogs contain the following button set:

Set
Sets the read/writer module's filename value to the chosen filename then closes the module's control dialog. In a network with multiple reader/writer modules, Set (rather than Execute) should be used to establish each reader/writer module's filename parameter before executing the network.

Execute
Sets the read/writer module's filename value to the chosen filename, executes the module (reads file contents and sends data downstream), and closes the module's control dialog.

Cancel
Closes the control dialog without setting the module's filename value.

Find
Highlights the module in the NetEdit frame that owns the control dialog being edited.

Progress bar
Shows the module's progress. As the module works toward completion of its task, the progress bar is filled with red, then yellow, then green. When the Progress bar is green, the module is done.

Timer
Displays the amount of CPU time (seconds) the module has consumed. Located to the left of the progress bar.

Message Indicator
Indicates the presence of messages in a module's log. Colors represent message types. Blue represents ``remarks'' (informational messages) and yellow represents ``warnings'' (attention is needed). Click Button1 on the indicator to display the module's log.

Pop-up Menu
Pressing Button3 while the mouse pointer is over a module activates a module's pop-up menu. The content of the pop-up menu changes depending on the state of the NetEdit window. The following items are available in the pop-up menu:

Package_Category_Name_Instance
This item is a label (not a selectable item). It provides the module's name and the category and package to which the module belongs. ``Instance'' is a unique number that distinguishes multiple instances of the same module.

Execute
Tells the module to execute (or re-execute). This may cause other modules in the network to execute or``fire'' (see Executing a Network).

Help
Displays the module's help window.

Notes
Displays a module's note pad. The note pad is used to document the purpose of a module in a network. See Displaying Module Notes.

Destroy Selected
Destroys the selected modules. See Destroying Module(s).

Destroy
Destroys the module See Destroying Module(s).

Duplicate
Duplicates the module, its input connections, and its control dialog state.

Replace With
Replaces the module with the chosen one. Replace With is a pop-up menu listing modules that accept the same connections as the current module. The chosen module replaces the current module.

Show Log
Displays the module's message log. Most modules write messages to their log during the course of their execution (see Viewing a Module's Log).

Make Sub-Network
Creates a sub-network from selected modules. See Creating a Sub-Network.

Expand Sub-Network
Reverses the action of menu item Make Sub-Network. This menu item is available only in a sub-network's pop-up menu. See Expanding a Sub-Network.

Disable
Disables a module (or selected modules). See Disabling/Enabling Modules.

Enable
Enables a module (or selected modules). See Disabling/Enabling Modules.

Fetch UI
Fetch the module GUI from wherever it happens to be on the screen and bring it the mouse, or open the GUI if it is not already open. Saves time in tracking down a module GUI.

Return UI
Return the module GUI to its previous location on the screen prior to doing a Fetch UI.

Ted Dustman 2005-06-22