Chapter 8 Data Storage Models
Data Storage Classes
Objective Chart’s data storage concepts were introduced in Chapter 3, “Design Overview of Objective Chart.” Conceptually, data values are stored in a two-dimensional array— as in a grid or spreadsheet. A data value in the array is referenced by its group (row) and index (column) numbers.
Chapter 3 described the Standard data storage scheme. In this scheme, the data values are stored in SRGraphData objects that also contain an annotation list, a style member, a null data flag, and a CScale object (hi-low history). The data objects that make up a group (row) are stored in a special list, SRGraphDataList, which also has its own annotation list and style member. The basic graph object, SRGraph, maintains a CPtrList of SRGraphDataList objects— one for each group (row) in the data array.
This Standard storage scheme is powerful and flexible. However, in some situations, only the data values are needed. Then the SRGraphData object, with its accoutrements, requires too much overhead.
In other situations, data to be plotted are already stored in the application’s memory. Using the Standard storage system would require unnecessary duplication.
Objective Chart provides two alternative data storage models, called Dynamic data and Structure data, to handle these situations. The architecture and use of all three models are described in this chapter. This chapter also details the functions used for building and accessing the data array.
Figure 118 shows the Objective Chart data storage class hierarchies.
Figure 118 – Data storage class hierarchies
These classes are discussed in relation to the storage model in which they are used.