12.08.2013 Views

Master's Thesis - Computer Graphics and Visualization - TU Delft

Master's Thesis - Computer Graphics and Visualization - TU Delft

Master's Thesis - Computer Graphics and Visualization - TU Delft

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

library. Meanwhile, the interface part can be changed without changes in the functions of the kernel <strong>and</strong><br />

the module. That is to say, a whole new interface can be designed for the system freely without the<br />

consideration on the internal structure of the kernel. The rest of this chapter introduces these four<br />

components individually.<br />

4.2 Module<br />

This section introduces Component Module in the architecture. It first introduces the basic components<br />

<strong>and</strong> functions of a module in section 4.2.1. Then it shows the module specification in 4.2.2.<br />

4.2.1 Module implementation<br />

A module is a primitive building block, consisting of a user program. It has two main properties. One is<br />

that the content of this module contains several lines or only one line of Tcl script. This script usually<br />

needs arguments as input, <strong>and</strong> returns a value as the output. The other property is that it must have a<br />

GUI so that users can see the module <strong>and</strong> can manipulate it. That is to say, this GUI will not only be a<br />

visible widget but also be able to interact with users.<br />

To support these two properties, a module should be designed to have four components: input<br />

parameters, output, the source code container, <strong>and</strong> the GUI, as shown in Figure 4-2. The input<br />

parameters record the arguments of the source code in this module; the output records the return value<br />

after the execution of the source code in this module; the source code container keeps the source code;<br />

<strong>and</strong> the GUI is an interface with which users can manipulate this module. Meanwhile operations on<br />

these parts are also needed for users to control the module, such as setting the values of the parameters<br />

<strong>and</strong> executing the source code of this module.<br />

Input parameters<br />

Output<br />

Source Code<br />

GUI<br />

A Module<br />

Figure 4-2 Necessary parts of a module<br />

Vary in different<br />

modules<br />

Same in different<br />

modules<br />

In different modules, only the contents of the input parameters, the output <strong>and</strong> the source code<br />

container should be different from each other (because the source codes of modules are different); the<br />

GUIs for each module <strong>and</strong> the operations on these components should be the same. For example, the<br />

operation of executing the source code of a module is independent to the content of the source code.<br />

- 29 -

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!