The "super" version of the Dashline utility attempts to cull crowded lines from the output picture. It
does this using an internal integer array, ISCREN, in which each bit used represents a single pixel in a
square array of 1024x1024 pixels of the picture. Initially, all the bits must be set to zero by calling
the routine RESET. When a line segment is about to be drawn, an appropriate set of bits in ISCREN
(representing the pixels through which the line segment passes) is examined; if any bit in that set is a
1, the line segment is not drawn. Then, the bits representing the pixels in the immediate vicinity of the
line segment are set to 1, so as to prevent any subsequent line segment from being drawn through the
area.
As each label is drawn, the bits in ISCREN representing the area occupied by the label are set to 1, as
well, which prevents subsequent line segments from being drawn through the label.
This culling process has the following implications for the user of the "super" version of Dashline:
• The routine RESET should be called at the beginning of each new picture. If this is not done, each of
a consecutive series of pictures will have progressively more gaps where line segments have been
culled.
• More important lines should be drawn first, followed by less important lines. For example, the
"super" version of the routine CONREC draws labeled contour lines first, followed by the contour lines
halfway in between the labeled lines, followed by the rest of the lines.
• Because each line segment is either drawn in its entirety or not at all, long straight line segments
are broken into shorter pieces. The internal parameter MLLINE determines how small the resulting
pieces will be; you may wish to reduce its value so that smaller pieces will be used.