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
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 -