- VoxelData
This class is functionally cohesive. It's responsibility is the storage of the volumetric data set, which is stored as voxels. It's tasks include reading in and writing out data, storing information about voxels that have been segmented, and keeping track of any color labels that have been applied to the data set.
- GlobalState
This class has aspects of both functional and sequential cohesion. Its overall purpose is to store information which is common to other classes, giving it functional cohesion; but it is only useful for providing input for functions in other classes, giving it sequential cohesion.
- GUI
This class is sequentially cohesive. Output from the GUI's callback functions is redirected to be input for the functions that actually change the state of the program, whether it's a change of modes or a change in what's displayed in any of the windows.
- Window2D
This class is functionally cohesive. It's purpose is to manage a single window in which a two dimensional slice of a 3D voxel data set is displayed. Segmentation of the 3D object takes place in any of the three 2D windows in this program.
- Window3D
This class is functionally cohesive. It's purpose is to manage a single window in which a three dimensional object is displayed. For the purpose of this program, the object displayed is the segmentation that has occurred within the two dimensional windows.
- PolygonDrawing
This class is functionally cohesive in that it has the primary purpose of storing the vertices of a polygon which is being drawn, but it is sequentially cohesive in that its output serves as input for drawing to the 2D windows.
- MeshObject
This class is functionally cohesive in that its purpose is to manage a MeshObject which represents a 3D segmentation as a mesh composed of triangles, but like the PolygonDrawing class, it is sequentially cohesive in that its output serves as input for drawing to the 3D window.
- MeshOptions This class is functionally cohesive in that its purpose is to keep track of the parameters for the various stages of the VTK pipeline for 3D rendering.