GlobalState

(created by David)

 

The GlobalState contains parameters which describe the current state of the program as a whole. Since these common parameters need to be accessed by every other class within the program, with the exception of the VoxelData class, they need to be encapsulated in a single class with a global scope. These parameters, which include current drawing color, 2D slice brightness and contrast, and current toolbar mode, cannot be directly accessed or changed by other classes; instead, each parameter has its own Get and Set function that not only reads or changes the value of the given parameter, but also takes care of any other changes that might be necessary should that value be changed. In this way, other objects can be made aware of changes in the GlobalState.