<< Chapter < Page | Chapter >> Page > |
As you can see in Listing 1 , each of these methods receives a double value as an incoming parameter and returns a double value. In essence, each of these methods receives a value for x and returns the corresponding value for y .
Each of these methods provides the data to be plotted in one plotting area. The method named f1 provides the data for the top plotting area, the method named f2 provides the data for the first plotting area down from the top, and so forth.
(For example, if the getNmbr method returns a value of 4, the method named f5 will never be called. If getNmbr returns 5, the method named f5 will be called to provide the data for the bottom plotting area.)
Each plotting area contains a horizontal axis. The plotting program moves across the horizontal axis in each plotting area one step at a time (moving in incremental steps equal to the plotting parameter named xCalcInc ) .
At each step along the way, the plotting program calls the method associated with that plotting area, ( f1 , f2 , etc.) , passing the horizontal position as a parameter to the method.
The value returned by the method is assumed to be the vertical value associated with that horizontal position, and that is the vertical value that isplotted for that horizontal position.
The plotting program doesn't know, and doesn't care how the method decides on the value to return for each value that it receives as an incoming parameter.The plotting program simply calls the methods to get the data, and then plots the data.
For example, the returned values could be computed and returned "on the fly" as is the case in the sample program named Graph01Demo , which we will look at shortly.
On the other hand, the values could have been computed earlier and saved in an array, as will be the case in the sample program named Dsp002 example that we will look at later.
The returned values could be read from a disk file, obtained from a database on another computer, or obtained from any other source such as another computeron the internet. All that matters is that when the plotting program named Graph01 calls one of the five methods named f1 through f5 , passing a double value as a parameter, it expects to receive a double value as a return value, and it will plot the value that it receives.
It is up to you, the author of the data-generator program, to decide how you will implement the methods named f1 through f5 . In some cases, the implementation may be simple. In other cases, the implementation may be morecomplex. The first case that we will examine, Graph01Demo , is very simple. A subsequent case, Dsp002 , is not so simple.
Although this is a very simple class definition, I am going to break it down and discuss it in fragments in order to help you focus your attention on theimportant points. A complete listing of the class definition is shown in Listing 37 near the end of the module.
Notification Switch
Would you like to follow the 'Digital signal processing - dsp' conversation and receive update notifications?