Extending Trim 3D
Extending Trim 3D
Tricol-md-3D was designed for a specific kind of visualization; we soon realized that many additional features could be added. The program rapidly grew to the point where it was "about to collapse on itself". We are currently rewriting Tricol-md-3D with extensibility in mind. Extensibility allows us to easily adapt the program to display, read, and write new types of data. At the same time, the new version must support all the features of the original program without sacrificing performance.
We have designed an object-oriented architecture to handle all types of particle visualization (see diagram below). We started with the basic modules our visualization tool needs:
- Reader - transfer data from external file format to internal program format
- Renderer - draws the data
- Writer - transfers the data from program format back to file format
We then created a basic interface for each of these three main modules and added some other support classes that will enable all these pieces to work together. In order to visualize a new type of particle data, simply create a subclass of each of the primary modules, implementing the interface we have already provided.