5. System Integration
The modules of this system fall into one of three categories: those dealing with the Graphical User Interface (GUI), those dealing with the rendering of maps, and those dealing with data extraction. Development of the three groups of modules essentially proceeded independent of one another in the early stages, by inserting placeholders where other components were supposed to be. Brad and Kirk, who worked on the GUI, were able to develop a skeleton for the user interface while inserting a blank window where maps would be displayed. Chris and Kwan manually parsed a data file in a text editor and incorporated some rough and ready data extraction code in the map rendering code in order to work on simply displaying the triangles that make up a data file. At the same time, Jeff worked on developing the DataAbstraction class which handles the reading and storage of map data.
Once each group had developed a somewhat working module, we began to integrate them together, removing hard coded work arounds to make the code more general. One of the first major integration steps performed was removing the hard coded data extraction from the map rendering code, replacing it with creation of DataAbstraction objects and calls to get points from them. We then proceeded to refine the structure of how data was stored in a GlMapWindow, by adding the vector of tiles and adding methods like addTile() so that tiles were created and added when the program first began. By now, the modules were integrated such that there was a complete working system. We then proceeded to add more and more functionality, changing the modules that were affected by each change or adding new ones.